|
@@ -85,13 +85,21 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
String saleNumber = (String) mapVal.get("saleNumber");
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
|
map.put("saleNumber",saleNumber);
|
|
|
+ // 判断是删除还是非删除
|
|
|
+ String closeStatus = (String) mapVal.get("closeStatus");
|
|
|
List<AmsSaleOrder> amsSaleOrders = amsSaleOrderMapper.selectByParameters(map);
|
|
|
- if (orderStatus.equals("4")) {
|
|
|
+ if (closeStatus.equals("0")) {
|
|
|
+ AmsSaleOrder amsSaleOrder = amsSaleOrders.get(0);
|
|
|
+ amsSaleOrder.setDeleted(new BigDecimal(1));
|
|
|
+ result = amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
|
|
|
+ }
|
|
|
+ if (orderStatus.equals("4") && closeStatus.equals("1")){
|
|
|
AmsSaleOrder amsSaleOrder = amsSaleOrders.get(0);
|
|
|
amsSaleOrder.setSaleOrderStatus(new BigDecimal(4));
|
|
|
+ amsSaleOrder.setDeleted(new BigDecimal(0));
|
|
|
result = amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
|
|
|
}
|
|
|
- else {
|
|
|
+ if (orderStatus.equals("2") && closeStatus.equals("1")){
|
|
|
// 得到账户余额
|
|
|
String saleAccountBalance = (String) mapVal.get("saleAccountBalance");
|
|
|
// 得到当前订单金额
|
|
@@ -194,6 +202,9 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
amsSaleOrder.setSaleNumber(saleNumber);
|
|
|
amsSaleOrder.setSaleAccountBalance(new BigDecimal(saleAccountBalance));
|
|
|
amsSaleOrder.setSaleCurrentOrderAmount(new BigDecimal(saleCurrentOrderAmount));
|
|
|
+ amsSaleOrder.setSaleRemark(saleRemark);
|
|
|
+ amsSaleOrder.setDeleted(new BigDecimal(0));
|
|
|
+ amsSaleOrder.setUpdateTime(new Date());
|
|
|
if (saleHistoricalOrderAmount != null && saleHistoricalOrderAmount.length() != 0) {
|
|
|
amsSaleOrder.setSaleHistoricalOrderAmount(new BigDecimal(saleHistoricalOrderAmount));
|
|
|
}
|
|
@@ -203,8 +214,36 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
String saleMaterialId = (String) materialMap.get("saleMaterialId");
|
|
|
// 得到金蝶分录id
|
|
|
String easPrimaryId = (String) materialMap.get("easPrimaryId");
|
|
|
- AmsSaleMaterial amsSaleMaterial = amsSaleMaterialMapper.selectByPrimaryKey(new BigDecimal(saleMaterialId));
|
|
|
+ Map<String,Object> resultMap = new HashMap<>();
|
|
|
+ resultMap.put("easPrimaryId",easPrimaryId);
|
|
|
+ AmsSaleMaterial amsSaleMaterial;
|
|
|
+ // 如果有物流系统销售订单物资表主键:认定是走物流新增的销售订单(通过物流系统主键进行查询)
|
|
|
+ if (saleMaterialId != null && (!saleMaterialId.equals("null")) && !saleMaterialId.equals("")) {
|
|
|
+ amsSaleMaterial = amsSaleMaterialMapper.selectByPrimaryKey(new BigDecimal(saleMaterialId));
|
|
|
+ }
|
|
|
+ // 否则认定是走金蝶新增的销售订单(通过金蝶分录id进行查询)
|
|
|
+ else {
|
|
|
+ List<AmsSaleMaterial> amsSaleMaterials = amsSaleMaterialMapper.selectByParameters(resultMap);
|
|
|
+ amsSaleMaterial = amsSaleMaterials.get(0);
|
|
|
+ }
|
|
|
+ // 得到物资编码
|
|
|
+ String materialCode = (String) materialMap.get("materialCode");
|
|
|
+ BigDecimal materialId = amsSaleMaterialMapper.getMaterialId(materialCode);
|
|
|
+ // 得到物资数量
|
|
|
+ String materialNumber = (String) materialMap.get("materialNumber");
|
|
|
+ // 得到计量单位
|
|
|
+ String materialUnit = (String) materialMap.get("materialUnit");
|
|
|
amsSaleMaterial.setEasPrimaryId(easPrimaryId);
|
|
|
+ amsSaleMaterial.setSaleOrderId(amsSaleOrder.getSaleOrderId());
|
|
|
+ amsSaleMaterial.setMaterialId(materialId);
|
|
|
+ amsSaleMaterial.setInsertTime(new Date());
|
|
|
+ amsSaleMaterial.setInsertUsername("金蝶");
|
|
|
+ amsSaleMaterial.setInsertUpdateRemark("采集金蝶销售订单");
|
|
|
+ if (materialUnit.equals("件")) {
|
|
|
+ amsSaleMaterial.setMaterialNumber(new BigDecimal(materialNumber));
|
|
|
+ } else {
|
|
|
+ amsSaleMaterial.setMaterialWeight(new BigDecimal(materialNumber));
|
|
|
+ }
|
|
|
result += amsSaleMaterialMapper.updateByPrimaryKeySelective(amsSaleMaterial);
|
|
|
}
|
|
|
result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
|