luobang 1 year ago
parent
commit
0f20d598ed

+ 6 - 0
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -77,6 +77,8 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
     EasFluMakeDateUtil easFluMakeDateUtil;
     EasFluMakeDateUtil easFluMakeDateUtil;
     @Autowired
     @Autowired
     BmstruckFeign bmstruckFeign;
     BmstruckFeign bmstruckFeign;
+    @Autowired
+    SaleLogUtil saleLogUtil;
 
 
 
 
     private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -236,6 +238,10 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
         int i = 0;
         int i = 0;
         for(Map<String,Object> temp:saleOrderIds){
         for(Map<String,Object> temp:saleOrderIds){
             i += amsSaleOrderService.deleteAmsSaleOrderBySaleOrderId(DataChange.dataToBigDecimal(temp.get("saleOrderId")));
             i += amsSaleOrderService.deleteAmsSaleOrderBySaleOrderId(DataChange.dataToBigDecimal(temp.get("saleOrderId")));
+            if(i == -1) {
+                return failed("无法删除,已提交至金蝶");
+            }
+            saleLogUtil.logSaleOrder(DataChange.dataToBigDecimal(temp.get("saleOrderId")),"删除未上报的销售订单",temp.get("userName") + "",SaleLogUtil.DELETE);
         }
         }
         return success(i);
         return success(i);
     }
     }

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.java

@@ -99,4 +99,6 @@ public interface AmsSaleOrderMaterialMapper extends IBaseMapper<AmsSaleOrderMate
 
 
     void updateSaleOrderReceipt(BigDecimal saleOrderId, Date receiptDateByDate);
     void updateSaleOrderReceipt(BigDecimal saleOrderId, Date receiptDateByDate);
 
 
+    Date getOldDateOfReceipt(BigDecimal saleOrderId);
+
 }
 }

+ 25 - 2
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -434,8 +434,13 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         //删除所有从表信息
         //删除所有从表信息
         //amsSaleOrderMapper.deleteBySaleOrderId(saleOrderId);
         //amsSaleOrderMapper.deleteBySaleOrderId(saleOrderId);
         AmsSaleOrder amsSaleOrder = amsSaleOrderMapper.selectByPrimaryKey(saleOrderId);
         AmsSaleOrder amsSaleOrder = amsSaleOrderMapper.selectByPrimaryKey(saleOrderId);
-        amsSaleOrder.setDeleted(new BigDecimal(2));
-        return amsSaleOrderMapper.updateByPrimaryKey(amsSaleOrder);
+        if(amsSaleOrder.getSaleOrderStatus().compareTo(new BigDecimal(0)) == 0) {
+
+            amsSaleOrder.setDeleted(new BigDecimal(2));
+            return amsSaleOrderMapper.updateByPrimaryKey(amsSaleOrder);
+        }else{
+            return -1;
+        }
     }
     }
 
 
     @Override
     @Override
@@ -761,10 +766,20 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 String consigneeTel = String.valueOf(map.get("saleOrderConsigneeTel"));
                 String consigneeTel = String.valueOf(map.get("saleOrderConsigneeTel"));
                 // 截止日期
                 // 截止日期
                 String dateOfReceiptStr = String.valueOf(map.get("saleDateOfReceipt"));
                 String dateOfReceiptStr = String.valueOf(map.get("saleDateOfReceipt"));
+                SimpleDateFormat dateOfReceiptFormat = new SimpleDateFormat("yyyy-MM-dd");
+                Calendar calendar = Calendar.getInstance();
+                calendar.setTime(new Date());
+                calendar.add(Calendar.DATE,1);
+                String dateOfReceiptDateStr = dateOfReceiptFormat.format(calendar.getTime()) + " 07:59:59";
+                SimpleDateFormat dateOfReceiptFormatTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                Date dateOfReceiptDateNew = dateOfReceiptFormatTime.parse(dateOfReceiptDateStr);
                 Date dateOfReceipt = null;
                 Date dateOfReceipt = null;
                 if (!"null".equals(dateOfReceiptStr) && !"undefined".equals(dateOfReceiptStr)) {
                 if (!"null".equals(dateOfReceiptStr) && !"undefined".equals(dateOfReceiptStr)) {
                     dateOfReceipt = new Date(Long.valueOf(dateOfReceiptStr));
                     dateOfReceipt = new Date(Long.valueOf(dateOfReceiptStr));
                 }
                 }
+                if (dateOfReceiptDateNew != null) {
+                    dateOfReceipt  = dateOfReceiptDateNew;
+                }
                 amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
                 amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
                 amsSaleOrderMaterial.setSaleOrderId(saleOrderId);
                 amsSaleOrderMaterial.setSaleOrderId(saleOrderId);
                 amsSaleOrderMaterial.setTruckRemark(truckRemark);
                 amsSaleOrderMaterial.setTruckRemark(truckRemark);
@@ -2109,6 +2124,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         amsSaleOrder.setSaleOrderId(saleOrderId);
         amsSaleOrder.setSaleOrderId(saleOrderId);
         amsSaleOrder.setDeleted(new BigDecimal(2));
         amsSaleOrder.setDeleted(new BigDecimal(2));
         amsSaleOrder.setInsertUpdateRemark(reason);
         amsSaleOrder.setInsertUpdateRemark(reason);
+        saleLogUtil.logSaleOrder(saleOrderId,"删除销售订单",mapValue.get("userName") + "",SaleLogUtil.DELETE);
         result += amsSaleOrderMapper.closeOrderNotIn(saleOrderId);
         result += amsSaleOrderMapper.closeOrderNotIn(saleOrderId);
         result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
         result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
         return result;
         return result;
@@ -3024,10 +3040,17 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 String consigneeTel = String.valueOf(map.get("saleOrderConsigneeTel"));
                 String consigneeTel = String.valueOf(map.get("saleOrderConsigneeTel"));
                 // 截止日期
                 // 截止日期
                 String dateOfReceiptStr = String.valueOf(map.get("saleDateOfReceipt"));
                 String dateOfReceiptStr = String.valueOf(map.get("saleDateOfReceipt"));
+                Date oldDateOfReceipt = amsSaleOrderMaterialMapper.getOldDateOfReceipt(DataChange.dataToBigDecimal(mapValue.get("saleOrderId")));
                 Date dateOfReceipt = null;
                 Date dateOfReceipt = null;
                 if (!"null".equals(dateOfReceiptStr) && !"undefined".equals(dateOfReceiptStr)) {
                 if (!"null".equals(dateOfReceiptStr) && !"undefined".equals(dateOfReceiptStr)) {
                     dateOfReceipt = new Date(Long.valueOf(dateOfReceiptStr));
                     dateOfReceipt = new Date(Long.valueOf(dateOfReceiptStr));
                 }
                 }
+                if(oldDateOfReceipt != null) {
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.setTime(oldDateOfReceipt);
+                    calendar.add(Calendar.DATE,1);
+                    dateOfReceipt = calendar.getTime();
+                }
                 amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
                 amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
                 amsSaleOrderMaterial.setSaleOrderId(saleOrderId);
                 amsSaleOrderMaterial.setSaleOrderId(saleOrderId);
                 amsSaleOrderMaterial.setTruckRemark(truckRemark);
                 amsSaleOrderMaterial.setTruckRemark(truckRemark);

+ 6 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml

@@ -1035,9 +1035,15 @@
       AND
       AND
       ASO.SALE_NUMBER = #{saleOrderNo}
       ASO.SALE_NUMBER = #{saleOrderNo}
   </select>
   </select>
+
   <update id="updateSaleOrderReceipt">
   <update id="updateSaleOrderReceipt">
     UPDATE AMS_SALE_ORDER_MATERIAL ASOM
     UPDATE AMS_SALE_ORDER_MATERIAL ASOM
     SET ASOM.SALE_DATE_OF_RECEIPT = #{receiptDateByDate}
     SET ASOM.SALE_DATE_OF_RECEIPT = #{receiptDateByDate}
     WHERE ASOM.SALE_ORDER_ID = #{saleOrderId}
     WHERE ASOM.SALE_ORDER_ID = #{saleOrderId}
   </update>
   </update>
+  <select id="getOldDateOfReceipt" resultType="java.util.Date" parameterType="decimal">
+    SELECT SALE_DATE_OF_RECEIPT FROM AMS_SALE_ORDER_MATERIAL
+    WHERE SALE_ORDER_ID = #{saleOrderId}
+    FETCH NEXT 1 ROWS ONLY
+  </select>
 </mapper>
 </mapper>