|
@@ -19,6 +19,8 @@ import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
|
|
|
+import static java.util.stream.Collectors.toList;
|
|
|
+
|
|
|
/**
|
|
|
* AmsSaleOrder服务实现:
|
|
|
* @author generator
|
|
@@ -323,7 +325,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
rmsMaterialMapper.updateByPrimaryKeySelective(rmsMaterial);
|
|
|
// 得到金蝶分录主键
|
|
|
String easPrimaryId = (String) materialMap.get("easPrimaryId");
|
|
|
- // 得到物资磅重
|
|
|
+ // 得到物资重量
|
|
|
String materialWeight = (String) materialMap.get("materialNumber");
|
|
|
// 得到物资件数
|
|
|
String materialNumber = (String) materialMap.get("assistQty");
|
|
@@ -333,9 +335,10 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
amsSaleMaterial.setMaterialId(materialId);
|
|
|
amsSaleMaterial.setInsertTime(new Date());
|
|
|
amsSaleMaterial.setInsertUsername("金蝶");
|
|
|
+ amsSaleMaterial.setMeterWeight(DataChange.dataToBigDecimal(meterWeight));
|
|
|
amsSaleMaterial.setInsertUpdateRemark("采集金蝶销售订单");
|
|
|
- if (meterWeight != null && !"".equals(meterWeight)) {
|
|
|
- amsSaleMaterial.setMaterialWeight(DataChange.dataToBigDecimal(meterWeight));
|
|
|
+ if (materialWeight != null && !"".equals(materialWeight)) {
|
|
|
+ amsSaleMaterial.setMaterialWeight(new BigDecimal(materialWeight));
|
|
|
}
|
|
|
if (materialNumber != null && !"".equals(materialNumber)) {
|
|
|
amsSaleMaterial.setMaterialNumber(new BigDecimal(materialNumber));
|
|
@@ -482,7 +485,6 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
System.out.println(json);
|
|
|
//获取订单状态
|
|
|
String orderStatus = (String) map.get("orderStatus");
|
|
|
- String materialNumber =(String) map.get("materialNumber");
|
|
|
String easPrimaryId=null;
|
|
|
//设置是否反审核状态
|
|
|
String closeStatus =(String) map.get("closeStatus");
|
|
@@ -512,6 +514,9 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
String businessType =(String) map.get("businessType");
|
|
|
//判断销售订单是否存在
|
|
|
BigDecimal saleOrderNumber = amsSaleOrderMapper.selectAmsSaleOrderNum(saleNumber);
|
|
|
+ if (saleOrderNumber==null&&transferInDep==null){
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
//如果销售订单不存在
|
|
|
if (saleOrderNumber==null){
|
|
|
AmsSaleOrder amsSaleOrder = new AmsSaleOrder();
|
|
@@ -560,15 +565,18 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
BigDecimal saleMaterialId = amsSaleMaterialMapper.getSaleMaterialId();
|
|
|
amsSaleMaterial.setSaleMaterialId(saleMaterialId);
|
|
|
amsSaleMaterial.setSaleOrderId(saleOrderId);
|
|
|
- // 辅助数量
|
|
|
+ String materialWeight =(String) materialMap.get("materialNumber");
|
|
|
+ // 辅助数量
|
|
|
Object auxiliaryQuantity = materialMap.get("AuxiliaryQuantity");
|
|
|
// 物资重量
|
|
|
Object meterWeight = materialMap.get("meterWeight");
|
|
|
-
|
|
|
Object steelMeter = materialMap.get("steelMeter");
|
|
|
if (steelMeter!=null) {
|
|
|
amsSaleMaterial.setSteelMeter(DataChange.dataToBigDecimal(steelMeter));
|
|
|
}
|
|
|
+ if (materialWeight != null && !"".equals(materialWeight)) {
|
|
|
+ amsSaleMaterial.setMaterialWeight(new BigDecimal(materialWeight));
|
|
|
+ }
|
|
|
//设置调出仓库
|
|
|
Object transferOutOfWarehouse = materialMap.get("TransferOutOfWarehouse");
|
|
|
amsSaleMaterial.setTransferOutOfWarehouse((String) transferOutOfWarehouse);
|
|
@@ -618,8 +626,6 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
}
|
|
|
rmsMaterial.setMaterialCount(new BigDecimal(materialCount + 1));
|
|
|
rmsMaterialMapper.updateByPrimaryKeySelective(rmsMaterial);
|
|
|
- // 得到物资重量
|
|
|
- String materialWeight = (String) materialMap.get("materialNumber");
|
|
|
// 得到计量单位
|
|
|
amsSaleMaterial.setEasPrimaryId(easPrimaryId);
|
|
|
amsSaleMaterial.setMaterialId(materialId);
|
|
@@ -667,17 +673,28 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
// throw new Exception("暂不支持修改库存调拨单");
|
|
|
//此处判断主要是针对销售订单已经存在
|
|
|
AmsSaleOrder amsSaleOrder=new AmsSaleOrder();
|
|
|
+ //此处判断订单状态为反审核
|
|
|
+ if (closeStatus.equals("0")&&orderStatus.equals("5")) {
|
|
|
+ //删除销售订单以及销售订单分录(没有下游单据的)
|
|
|
+ int i=0;
|
|
|
+ List<Map<String, Object>> mapList = amsSaleOrderMapper.selectAmssaleOrderId(saleNumber);
|
|
|
+ BigDecimal selectAreadyUse = amsSaleOrderMapper.selectAreadyUse(saleNumber);
|
|
|
+ if (selectAreadyUse==null) {
|
|
|
+ for (Map<String, Object> IdMap : mapList) {
|
|
|
+ BigDecimal saleMaterialId = DataChange.dataToBigDecimal(IdMap.get("saleMaterialId"));
|
|
|
+ i+= amsSaleMaterialMapper.deleteByPrimaryKey(saleMaterialId);
|
|
|
+ }
|
|
|
+ i+= amsSaleOrderMapper.deleteByPrimaryKey(saleOrderNumber);
|
|
|
+ return i;
|
|
|
+ }else {
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+ }
|
|
|
if (orderStatus.equals("2")){
|
|
|
amsSaleOrder.setSaleOrderId(saleOrderNumber);
|
|
|
amsSaleOrder.setCloseStatus(new BigDecimal(1));
|
|
|
amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
|
|
|
}
|
|
|
- //此处判断订单状态为反审核
|
|
|
- if (closeStatus.equals("5")) {
|
|
|
- amsSaleOrder.setSaleOrderId(saleOrderNumber);
|
|
|
- amsSaleOrder.setDeleted(new BigDecimal(1));
|
|
|
- result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
|
|
|
- }
|
|
|
// 关闭单个分录订单
|
|
|
if (closeStatus.equals("-1") && wholeOrder.equals("0")) {
|
|
|
Object closeEntryId = map.get("closeEntryId");
|
|
@@ -790,16 +807,26 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
String materialName =(String) map1.get("materialName");
|
|
|
if (materialName.contains("盘螺")){
|
|
|
map1.put("materialType","盘螺");
|
|
|
- }else if (materialName.contains("盘圆")){
|
|
|
+ }else if (materialName.contains("盘圆")||materialName.contains("盘元")){
|
|
|
map1.put("materialType","盘圆");
|
|
|
}else if (materialName.contains("螺纹")){
|
|
|
map1.put("materialType","螺纹钢");
|
|
|
}
|
|
|
//根据物资id查找炉批号
|
|
|
BigDecimal materialId =DataChange.dataToBigDecimal(map1.get("materialId"));
|
|
|
- BigDecimal resultId =DataChange.dataToBigDecimal(map1.get("resultId"));
|
|
|
- String materialFurnaceNumber = amsSaleOrderMapper.selectMaterialFurnaceNumber(materialId,resultId);
|
|
|
- map1.put("materialFurnaceNumber",materialFurnaceNumber);
|
|
|
+ BigDecimal orderId =DataChange.dataToBigDecimal( map1.get("orderId"));
|
|
|
+ List<Map<String,Object>> materialFurnaceNumber = amsSaleOrderMapper.selectMaterialFurnaceNumber(materialId,orderId);
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
+ for (Map<String, Object> luHaoMap : materialFurnaceNumber) {
|
|
|
+ sb.append(luHaoMap.get("materialFurnaceNumber"));
|
|
|
+ sb.append("-");
|
|
|
+ sb.append(luHaoMap.get("materialNum"));
|
|
|
+ sb.append("/");
|
|
|
+ }
|
|
|
+ if(materialFurnaceNumber.size() > 0){
|
|
|
+ sb.deleteCharAt(sb.length() - 1);
|
|
|
+ map1.put("materialFurnaceNumber",materialFurnaceNumber);
|
|
|
+ }
|
|
|
//接口发送日期
|
|
|
map1.put("sendTime",new Date());
|
|
|
}
|