luobang 2 роки тому
батько
коміт
9eccf40086

+ 1 - 1
src/main/java/com/steerinfo/dil/mapper/AmsSaleMaterialMapper.java

@@ -32,6 +32,6 @@ public interface AmsSaleMaterialMapper extends IBaseMapper<AmsSaleMaterial, BigD
 
 
     BigDecimal getSaleMaterialIdByEasId(String easId);
     BigDecimal getSaleMaterialIdByEasId(String easId);
 
 
-    int deleteAstmBystId(BigDecimal stId);
+    int deleteAstmBystId(String stId);
 
 
 }
 }

+ 6 - 7
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -377,8 +377,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                     amsSaleOrder.setSaleHistoricalOrderAmount(new BigDecimal(saleHistoricalOrderAmount));
                     amsSaleOrder.setSaleHistoricalOrderAmount(new BigDecimal(saleHistoricalOrderAmount));
                 }
                 }
                 amsSaleOrder.setSaleOrderStatus(new BigDecimal(orderStatus));
                 amsSaleOrder.setSaleOrderStatus(new BigDecimal(orderStatus));
-                //获取销售订单下的分录id
-                List<String> wuliuEasIds = amsSaleMaterialMapper.getMaterialEasList(saleNumber);
+                //获取销售订单下的分录id--获取物流分录id
+                List<String> wuliuStIds = amsSaleMaterialMapper.getMaterialEasList(saleNumber);
                 //查询该销售订单下的所有物资分录
                 //查询该销售订单下的所有物资分录
                 List<String> EasIds = new ArrayList<>();
                 List<String> EasIds = new ArrayList<>();
                 for (Map<String, Object> materialMap : mapList) {
                 for (Map<String, Object> materialMap : mapList) {
@@ -388,7 +388,6 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                     String easPrimaryId = (String) materialMap.get("easPrimaryId");
                     String easPrimaryId = (String) materialMap.get("easPrimaryId");
                     Map<String,Object> resultMap = new HashMap<>();
                     Map<String,Object> resultMap = new HashMap<>();
                     resultMap.put("easPrimaryId",easPrimaryId);
                     resultMap.put("easPrimaryId",easPrimaryId);
-                    EasIds.add(easPrimaryId);
                     AmsSaleMaterial amsSaleMaterial;
                     AmsSaleMaterial amsSaleMaterial;
                     // 得到物资重量
                     // 得到物资重量
                     String materialWeight = (String) materialMap.get("materialNumber");
                     String materialWeight = (String) materialMap.get("materialNumber");
@@ -399,6 +398,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                         amsSaleMaterial = amsSaleMaterialMapper.selectByPrimaryKey(new BigDecimal(saleMaterialId));
                         amsSaleMaterial = amsSaleMaterialMapper.selectByPrimaryKey(new BigDecimal(saleMaterialId));
                         Object meterWeight = materialMap.get("meterWeight");
                         Object meterWeight = materialMap.get("meterWeight");
                         Object forChangdu = materialMap.get("forChangdu");
                         Object forChangdu = materialMap.get("forChangdu");
+                        EasIds.add(saleMaterialId);
                         if(forChangdu != null && !"".equals(forChangdu.toString())){
                         if(forChangdu != null && !"".equals(forChangdu.toString())){
                             amsSaleMaterial.setSteelMeter(DataChange.dataToBigDecimal(forChangdu));
                             amsSaleMaterial.setSteelMeter(DataChange.dataToBigDecimal(forChangdu));
                         }
                         }
@@ -443,11 +443,11 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                     amsSaleMaterial.setInsertTime(new Date());
                     amsSaleMaterial.setInsertTime(new Date());
                     result += amsSaleMaterialMapper.updateByPrimaryKeySelective(amsSaleMaterial);
                     result += amsSaleMaterialMapper.updateByPrimaryKeySelective(amsSaleMaterial);
                 }
                 }
-                if(EasIds.size() < wuliuEasIds.size()){
+                if(amsSaleOrder.getSaleType().intValue() == 1 && EasIds.size() < wuliuStIds.size()){
                     //只有当金蝶传过来的分录小于物流这边的金蝶分录时,才进行此处判断
                     //只有当金蝶传过来的分录小于物流这边的金蝶分录时,才进行此处判断
                     //遍历物流存在的数组,如果wuliu有的金蝶没有,那就将物流没有的给隐藏调
                     //遍历物流存在的数组,如果wuliu有的金蝶没有,那就将物流没有的给隐藏调
                     //将物流这边的金蝶分录集合变成set
                     //将物流这边的金蝶分录集合变成set
-                    Set<String> set = new HashSet<String>(wuliuEasIds);
+                    Set<String> set = new HashSet<String>(wuliuStIds);
                     //遍历金蝶分录数组
                     //遍历金蝶分录数组
                     for(String easId:EasIds){
                     for(String easId:EasIds){
                             // 若是集合里有相同的就删掉,若是没有就将值添加到集合
                             // 若是集合里有相同的就删掉,若是没有就将值添加到集合
@@ -463,9 +463,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                     //遍历数组将这里面的分录删掉
                     //遍历数组将这里面的分录删掉
                     for (String easId:chaEasIds){
                     for (String easId:chaEasIds){
                         //物理删除该分录
                         //物理删除该分录
-                        BigDecimal stId = amsSaleMaterialMapper.getSaleMaterialIdByEasId(easId);
                         result += amsSaleMaterialMapper.deleteSaleMaterialByEasId(easId);
                         result += amsSaleMaterialMapper.deleteSaleMaterialByEasId(easId);
-                        result += amsSaleMaterialMapper.deleteAstmBystId(stId);
+                        result += amsSaleMaterialMapper.deleteAstmBystId(easId);
 
 
                     }
                     }
                     System.out.println(chaEasIds);
                     System.out.println(chaEasIds);

+ 4 - 4
src/main/resources/com/steerinfo/dil/mapper/AmsSaleMaterialMapper.xml

@@ -692,7 +692,7 @@
         WHERE RM.MATERIAL_ID = #{materialId}
         WHERE RM.MATERIAL_ID = #{materialId}
     </select>
     </select>
     <select id="getMaterialEasList" resultType="java.lang.String" parameterType="string">
     <select id="getMaterialEasList" resultType="java.lang.String" parameterType="string">
-        SELECT ASM.EAS_PRIMARY_ID FROM AMS_SALE_MATERIAL ASM
+        SELECT ASM.SALE_MATERIAL_ID FROM AMS_SALE_MATERIAL ASM
         LEFT JOIN AMS_SALE_ORDER ASO
         LEFT JOIN AMS_SALE_ORDER ASO
         ON ASM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
         ON ASM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
         WHERE ASO.SALE_NUMBER = #{saleNumber}
         WHERE ASO.SALE_NUMBER = #{saleNumber}
@@ -722,11 +722,11 @@
     </update>
     </update>
     <delete id="deleteSaleMaterialByEasId" parameterType="string">
     <delete id="deleteSaleMaterialByEasId" parameterType="string">
         DELETE FROM AMS_SALE_MATERIAL ASM
         DELETE FROM AMS_SALE_MATERIAL ASM
-        WHERE ASM.EAS_PRIMARY_ID = #{easId}
+        WHERE ASM.SALE_MATERIAL_ID = #{easId}
     </delete>
     </delete>
-    <delete id="deleteAstmBystId" parameterType="decimal">
+    <delete id="deleteAstmBystId" parameterType="string">
         DELETE FROM AMS_SALE_TRUCKNO_MATERIAL ASTM
         DELETE FROM AMS_SALE_TRUCKNO_MATERIAL ASTM
-        WHERE ASTM.MATERIAL_ID = #{stId}
+        WHERE ASTM.MATERIAL_ID = #{easId}
     </delete>
     </delete>
 
 
 </mapper>
 </mapper>