|
@@ -6,10 +6,7 @@ import com.steerinfo.dil.feign.TmsTruckFeign;
|
|
|
import com.steerinfo.dil.mapper.*;
|
|
|
import com.steerinfo.dil.model.*;
|
|
|
import com.steerinfo.dil.service.IAmsSaleOrderService;
|
|
|
-import com.steerinfo.dil.util.DataChange;
|
|
|
-import com.steerinfo.dil.util.EASDeleteUtil;
|
|
|
-import com.steerinfo.dil.util.EASUtil;
|
|
|
-import com.steerinfo.dil.util.NumberToWeightUtil;
|
|
|
+import com.steerinfo.dil.util.*;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -64,6 +61,10 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
EASUtil easUtil;
|
|
|
@Autowired
|
|
|
EASDeleteUtil easDeleteUtil;
|
|
|
+ @Autowired
|
|
|
+ EASTestUtil easTestUtil;
|
|
|
+ @Autowired
|
|
|
+ EASDeleteTestUtil easDeleteTestUtil;
|
|
|
|
|
|
@Override
|
|
|
public List<Map<String, Object>> getSaleOrderInfo(Map<String, Object> map) {
|
|
@@ -206,14 +207,16 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
Map<String, Object> input = joinFeign.getSaleOrder(saleOrderId);
|
|
|
Map<String, Object> head = (Map<String, Object>) input.get("head");
|
|
|
head.put("status","");
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
Map<String, Object> totalMap = easUtil.getTotalMap();
|
|
|
|
|
|
totalMap.put("input",input);
|
|
|
System.out.println(totalMap);
|
|
|
String json = JSONUtils.toJSONString(totalMap);
|
|
|
System.out.println(json);
|
|
|
- String s = joinFeign.pushSaleOrderToEas(totalMap);
|
|
|
+ Map<String,Object> s = joinFeign.pushSaleOrderToEas(totalMap);
|
|
|
System.out.println(s);
|
|
|
amsSaleOrder.setSaleOrderStatus(new BigDecimal(1));
|
|
|
return amsSaleOrderMapper.updateByPrimaryKey(amsSaleOrder);
|
|
@@ -932,7 +935,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
System.out.println(totalMap);
|
|
|
String json = JSONUtils.toJSONString(totalMap);
|
|
|
System.out.println(json);
|
|
|
- String s = joinFeign.pushSaleOrderToEas(totalMap);
|
|
|
+ Map<String,Object> s = joinFeign.pushSaleOrderToEas(totalMap);
|
|
|
System.out.println(s);
|
|
|
}
|
|
|
|
|
@@ -988,14 +991,18 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
BigDecimal saleOrderId = DataChange.dataToBigDecimal(map.get("saleOrderId"));
|
|
|
|
|
|
Map<String, Object> input = joinFeign.getSaleOrder(saleOrderId);
|
|
|
-
|
|
|
+ Map<String, Object> head = (Map<String, Object>) input.get("head");
|
|
|
+ head.put("status","");
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
Map<String, Object> totalMap = easUtil.getTotalMap();
|
|
|
|
|
|
totalMap.put("input",input);
|
|
|
System.out.println(totalMap);
|
|
|
String json = JSONUtils.toJSONString(totalMap);
|
|
|
System.out.println(json);
|
|
|
- String s = joinFeign.pushSaleOrderToEas(totalMap);
|
|
|
+ Map<String,Object> s = joinFeign.pushSaleOrderToEas(totalMap);
|
|
|
System.out.println(s);
|
|
|
amsSaleOrder.setSaleOrderId(saleOrderId);
|
|
|
amsSaleOrder.setSaleOrderStatus(new BigDecimal(1));
|
|
@@ -1271,7 +1278,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
System.out.println(totalMap);
|
|
|
String json = JSONUtils.toJSONString(totalMap);
|
|
|
System.out.println(json);
|
|
|
- String s = joinFeign.pushSaleOrderToEas(totalMap);
|
|
|
+ Map<String,Object> s = joinFeign.pushSaleOrderToEas(totalMap);
|
|
|
System.out.println(s);
|
|
|
return 0;
|
|
|
}
|
|
@@ -1375,6 +1382,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
* @param mapValue
|
|
|
* @return
|
|
|
*/
|
|
|
+ @Transactional
|
|
|
@Override
|
|
|
public int updateAllMaterialInSale(Map<String, Object> mapValue) {
|
|
|
int result = 0;
|
|
@@ -1388,7 +1396,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
Map<String, Object> truckNoMap = new HashMap<>();
|
|
|
truckNoMap.put("saleOrderMaterialId",saleOrderMaterialId);
|
|
|
toTmsMap.put("orderId", orderId);
|
|
|
- toTmsMap.put("oldList", oldList);
|
|
|
+ toTmsMap.put("oldMaterialMapList", oldList);
|
|
|
|
|
|
List<Map<String, Object>> mapList = (List<Map<String, Object>>) mapValue.get("mapList");
|
|
|
|
|
@@ -1402,14 +1410,20 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
amsSaleTrucknoMaterialMapper.deleteByPrimaryKey(amsSaleTrucknoMaterial.getTrucknoMaterialId());
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
+ List<OmstruckOrderMaterial> omstruckOrderMaterials = omstruckOrderMaterialMapper.selectByParameters(toTmsMap);
|
|
|
+ for (OmstruckOrderMaterial omstruckOrderMaterial : omstruckOrderMaterials) {
|
|
|
+ omstruckOrderMaterialMapper.deleteByPrimaryKey(omstruckOrderMaterial.getOrderMaterialId());
|
|
|
+ }
|
|
|
+
|
|
|
+ 重新新增三个表
|
|
|
+ */
|
|
|
for (Map<String, Object> map : mapList) {
|
|
|
- BigDecimal saleMaterialId = DataChange.dataToBigDecimal(map.get("saleMaterialId"));
|
|
|
+ Object saleMaterialId = map.get("saleMaterialId");
|
|
|
BigDecimal materialId = DataChange.dataToBigDecimal(map.get("materialId"));
|
|
|
BigDecimal materialNumber = DataChange.dataToBigDecimal(map.get("orderPlanWeight"));
|
|
|
- BigDecimal trucknoMaterialId = DataChange.dataToBigDecimal(map.get("trucknoMaterialId"));
|
|
|
+ Object trucknoMaterialId = map.get("trucknoMaterialId");
|
|
|
BigDecimal isPoundSale = DataChange.dataToBigDecimal(map.get("isPound"));
|
|
|
+ Object materialWeight = map.get("materialWeight");
|
|
|
Object steelMeter = map.get("meterNumber");
|
|
|
Object easId = map.get("easId");
|
|
|
Object warehouse = map.get("warehouse");
|
|
@@ -1419,139 +1433,54 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
AmsSaleTrucknoMaterial amsSaleTrucknoMaterial = new AmsSaleTrucknoMaterial();
|
|
|
|
|
|
OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+ amsSaleMaterial.setSaleMaterialId(amsSaleMaterialMapper.selectMaxId());
|
|
|
+ amsSaleTrucknoMaterial.setTrucknoMaterialId(amsSaleTrucknoMaterialMapper.selectMaxId());
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- List<Map<String, Object>> newList = omstruckOrderMaterialMapper.getMaterialList(orderId);
|
|
|
- toTmsMap.put("newList", newList);
|
|
|
-
|
|
|
- Map<String, Object> input = joinFeign.getSaleOrder(saleOrderId);
|
|
|
- Map<String, Object> head = (Map<String, Object>) input.get("head");
|
|
|
- head.put("status", "update");
|
|
|
-
|
|
|
- Map<String, Object> totalMap = easUtil.getTotalMap();
|
|
|
-
|
|
|
- totalMap.put("input", input);
|
|
|
- System.out.println(totalMap);
|
|
|
- String json = JSONUtils.toJSONString(totalMap);
|
|
|
- System.out.println(json);
|
|
|
- String s = joinFeign.pushSaleOrderToEas(totalMap);
|
|
|
- System.out.println(s);
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- * 遍历两次物资集合,找出哪些修改哪些新增哪些删除的物资
|
|
|
- * @param newMaterialMapList
|
|
|
- * @param oldMaterialMapList
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static Map<String, Object> checkMaterial(List<Map<String, Object>> oldMaterialMapList, List<Map<String, Object>> newMaterialMapList){
|
|
|
- Map<String, Object> returnMap = new HashMap<>();
|
|
|
- List<BigDecimal> delete = new ArrayList<>();
|
|
|
- List<Map<String, Object>> add = new ArrayList<>();
|
|
|
- List<Map<String, Object>> update = new ArrayList<>();
|
|
|
-
|
|
|
- for (Map<String, Object> map : oldMaterialMapList) {
|
|
|
- String materialId = String.valueOf(map.get("materialId"));
|
|
|
-
|
|
|
- Map<String, Object> newMap = getNewMap(materialId, newMaterialMapList);
|
|
|
- if(newMap == null){
|
|
|
-
|
|
|
- delete.add(DataChange.dataToBigDecimal(map.get("materialId")));
|
|
|
- }else{
|
|
|
- BigDecimal newNumber = DataChange.dataToBigDecimal(newMap.get("materialNumber"));
|
|
|
- BigDecimal oldNumber = DataChange.dataToBigDecimal(map.get("materialNumber"));
|
|
|
- int i = newNumber.compareTo(oldNumber);
|
|
|
- if(i != 0){
|
|
|
- Map<String, Object> updateMap = new HashMap<>();
|
|
|
- updateMap.put("materialId", materialId);
|
|
|
- updateMap.put("materialNumber", newNumber);
|
|
|
- update.add(updateMap);
|
|
|
- }
|
|
|
+ if (easId != null) {
|
|
|
+ amsSaleMaterial.setEasPrimaryId(easId.toString());
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- for (Map<String, Object> map : newMaterialMapList) {
|
|
|
- String materialId = String.valueOf(map.get("materialId"));
|
|
|
- Map<String, Object> oldMaps = getNewMap(materialId, oldMaterialMapList);
|
|
|
- if(oldMaps == null){
|
|
|
-
|
|
|
- add.add(map);
|
|
|
+ if (warehouse != null) {
|
|
|
+ amsSaleMaterial.setSaleWarehouse(warehouse.toString());
|
|
|
}
|
|
|
- }
|
|
|
- if(add.size() != 0) returnMap.put("add", add);
|
|
|
- if(delete.size() != 0) returnMap.put("delete", delete);
|
|
|
- if(update.size() != 0) returnMap.put("update", update);
|
|
|
- return returnMap;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- * 遍历list查看里面的map是否包含这个值
|
|
|
- * @param key
|
|
|
- * @param mapList
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static Map<String, Object> getNewMap(String key, List<Map<String, Object>> mapList){
|
|
|
- for (Map<String, Object> map : mapList) {
|
|
|
- if(map.containsValue(key)){
|
|
|
- return map;
|
|
|
+ if (steelMeter != null) {
|
|
|
+ amsSaleMaterial.setSteelMeter(DataChange.dataToBigDecimal(steelMeter));
|
|
|
}
|
|
|
+ if (materialWeight != null) {
|
|
|
+ amsSaleMaterial.setMaterialWeight(DataChange.dataToBigDecimal(materialWeight));
|
|
|
+ omstruckOrderMaterial.setOrderMaterialWeight(DataChange.dataToBigDecimal(materialWeight));
|
|
|
+ }
|
|
|
+ amsSaleMaterial.setSaleOrderId(saleOrderId);
|
|
|
+ amsSaleMaterial.setIsPoundSale(isPoundSale);
|
|
|
+ amsSaleMaterial.setMaterialId(materialId);
|
|
|
+ amsSaleMaterial.setDeleted(new BigDecimal(0));
|
|
|
+ amsSaleMaterial.setMaterialNumber(materialNumber);
|
|
|
+ amsSaleMaterial.setUpdateTime(new Date());
|
|
|
+ result += amsSaleMaterialMapper.insertSelective(amsSaleMaterial);
|
|
|
+
|
|
|
+ amsSaleTrucknoMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
|
|
|
+ amsSaleTrucknoMaterial.setMaterialId(amsSaleMaterial.getSaleMaterialId());
|
|
|
+ amsSaleTrucknoMaterial.setSaleOrderMaterialNumber(materialNumber);
|
|
|
+ amsSaleTrucknoMaterial.setUpdateTime(new Date());
|
|
|
+ result += amsSaleTrucknoMaterialMapper.insertSelective(amsSaleTrucknoMaterial);
|
|
|
+
|
|
|
+ omstruckOrderMaterial.setOrderMaterialId(omstruckOrderMaterialMapper.selectMaxId());
|
|
|
+ omstruckOrderMaterial.setOrderId(orderId);
|
|
|
+ omstruckOrderMaterial.setMaterialId(materialId);
|
|
|
+ omstruckOrderMaterial.setOrderMaterialNumber(materialNumber);
|
|
|
+ result += omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
|
|
|
}
|
|
|
- return null;
|
|
|
+
|
|
|
+ List<Map<String, Object>> newList = omstruckOrderMaterialMapper.getMaterialList(orderId);
|
|
|
+ toTmsMap.put("newMaterialMapList", newList);
|
|
|
+
|
|
|
+ Map<String, Object> updateResult = tmsTruckFeign.update(toTmsMap);
|
|
|
+ System.out.println(updateResult);
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -1564,4 +1493,40 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
List<Map<String, Object>> resultList = amsSaleOrderMapper.getFuSaleOrderList(map);
|
|
|
return resultList;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ * 同步关闭金蝶销售订单
|
|
|
+ * @param mapValue
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int deleteSaleOrderSame(Map<String, Object> mapValue) {
|
|
|
+ int result = 0;
|
|
|
+ String reason = (String) mapValue.get("reason");
|
|
|
+ String number = (String) mapValue.get("number");
|
|
|
+ String wholeOrder = "1";
|
|
|
+ String status = "close";
|
|
|
+ Map<String,Object> head = new HashMap<>();
|
|
|
+ head.put("number",number);
|
|
|
+ head.put("reason",reason);
|
|
|
+ head.put("wholeOrder",wholeOrder);
|
|
|
+ head.put("status",status);
|
|
|
+ Map<String,Object> input = new HashMap<>();
|
|
|
+ Map<String, Object> totalMap = easDeleteUtil.getTotalMap();
|
|
|
+ input.put("head",head);
|
|
|
+ totalMap.put("input",input);
|
|
|
+
|
|
|
+ String json = JSONUtils.toJSONString(totalMap);
|
|
|
+ System.out.println(json);
|
|
|
+ Map<String,Object> resultMap = joinFeign.deleteSaleOrderToEas(totalMap);
|
|
|
+ System.out.println(resultMap);
|
|
|
+ BigDecimal saleOrderId = DataChange.dataToBigDecimal(mapValue.get("saleOrderId"));
|
|
|
+ AmsSaleOrder amsSaleOrder = new AmsSaleOrder();
|
|
|
+ amsSaleOrder.setSaleOrderId(saleOrderId);
|
|
|
+ amsSaleOrder.setDeleted(new BigDecimal(1));
|
|
|
+ amsSaleOrder.setInsertUpdateRemark(reason);
|
|
|
+ result += amsSaleOrderMapper.closeOrderNotIn(saleOrderId);
|
|
|
+ result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
}
|