luobang 2 lat temu
rodzic
commit
bbebbac2f3

+ 10 - 0
src/main/java/com/steerinfo/dil/controller/WmsInboundScanResultController.java

@@ -410,6 +410,16 @@ public class WmsInboundScanResultController extends BaseRESTfulController {
     @PostMapping("/recordScanResult")
     @Transactional
     public  synchronized RESTfulResult recordScanResult(@RequestBody(required = false)Map<String,Object> map) throws Exception {
+        System.out.println(map);
+        if(map.get("materialOnlyCode") != null && DataChange.dataToBigDecimal(map.get("deleteFlag")).intValue() == 1) {
+            //走删除接口
+            int i = wmsInboundScanResultService.deleteMaterialSteelMes(map);
+            if(i == 0) {
+                return failed("物资不存在");
+            }
+            return success();
+
+        }
         if(map.get("number")==null){
             //return failed("请输入数量");
             map.put("number",1);

+ 10 - 0
src/main/java/com/steerinfo/dil/mapper/WmspInboundScanResultMapper.java

@@ -149,4 +149,14 @@ public interface WmspInboundScanResultMapper extends IBaseMapper<WmspInboundScan
 
     //查询物资编码的详情
     Map<String,Object> findMaterialDetails(String materialCode);
+
+    BigDecimal getMaterialSteelId(Map<String, Object> map);
+
+    int deleteMaterialSteel(BigDecimal materialSteelId);
+
+    int deleteInboundResult(BigDecimal materialSteelId);
+
+
+    int deleteInboundScanResult(BigDecimal materialSteelId);
+
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/service/IWmsInboundScanResultService.java

@@ -150,4 +150,6 @@ public interface IWmsInboundScanResultService {
 
     //批量创建吊牌
     List<Map<String,Object>> createResultMaterials(Map<String,Object> map);
+
+    int deleteMaterialSteelMes(Map<String, Object> map);
 }

+ 8 - 0
src/main/java/com/steerinfo/dil/service/impl/RmsMaterialSteelServiceImpl.java

@@ -148,6 +148,11 @@ public class RmsMaterialSteelServiceImpl implements IRmsMaterialSteelService {
         String MaterialOnlyCode=split[7];
         //编码
         String MaterialCode=split[8];
+        //实重
+        String actualWeight = null;
+        if(split[9] != null && split[9].contains("A1024A")) {
+            actualWeight = split[9].replace("A1024A","");
+        }
         //根据物资唯一编码去物资钢材表找物资,如果为空,则新增物资表,不为空,使用这一个ID
         HashMap<String, Object> mapRmsMaterialSteel = new HashMap<>();
         mapRmsMaterialSteel.put("materialOnlyCode",MaterialOnlyCode);
@@ -193,6 +198,9 @@ public class RmsMaterialSteelServiceImpl implements IRmsMaterialSteelService {
         }else {
             rmsMaterialSteel.setMaterialTheoreticalWeight(DataChange.dataToBigDecimal(TheoreticalWeight));
         }
+        if(actualWeight != null) {
+            rmsMaterialSteel.setMaterialSingleBundleWeight(DataChange.dataToBigDecimal(actualWeight));
+        }
         //设置物资支数
         //判断支数不为空
         if (materialCount.length()!=0) {

+ 17 - 1
src/main/java/com/steerinfo/dil/service/impl/WmsInboundScanResultServiceImpl.java

@@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.xml.crypto.Data;
 import java.math.BigDecimal;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -501,6 +502,8 @@ public class WmsInboundScanResultServiceImpl implements IWmsInboundScanResultSer
         String furnaceNumber=map.get("furnaceNumber").toString();
         //理重
         BigDecimal theoreticalWeight= DataChange.dataToBigDecimal(map.get("theoreticalWeight"));
+        //实重
+        BigDecimal actualWeight = DataChange.dataToBigDecimal(map.get("actualWeight"));
         Map<String,Object> materialDetails=wmspInboundScanResultMapper.findMaterialDetails(materialCode);
         if(materialDetails==null || materialDetails.get("materialModel")==null || materialDetails.get("materialSpecification")==null)
             return null;
@@ -524,11 +527,24 @@ public class WmsInboundScanResultServiceImpl implements IWmsInboundScanResultSer
                     +today+"-"
                     +i+materialOnlyCode+"-"//唯一编码
                     +materialCode+"-"
-                    +"1";
+                    +"A1024A" + actualWeight;
             temp.put("resultMaterial",resultMaterial);
             System.out.println(resultMaterial);
             resultMaterials.add(temp);
         }
         return resultMaterials;
     }
+
+    @Override
+    public int deleteMaterialSteelMes(Map<String, Object> map) {
+        BigDecimal materialSteelId = wmspInboundScanResultMapper.getMaterialSteelId(map);
+        if(materialSteelId == null) {
+            return 0;
+        }
+        //删除入库实绩,实时库存
+        wmspInboundScanResultMapper.deleteMaterialSteel(materialSteelId);
+        wmspInboundScanResultMapper.deleteInboundResult(materialSteelId);
+        wmspInboundScanResultMapper.deleteInboundScanResult(materialSteelId);
+        return 1;
+    }
 }

+ 17 - 1
src/main/resources/com/steerinfo/dil/mapper/WmspInboundScanResultMapper.xml

@@ -529,6 +529,7 @@
             #{id}
         </foreach>
     </delete>
+
     <!-- 友情提示!!!-->
     <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
     <!--  <select id="getCount" resultType="java.math.BigDecimal">-->
@@ -1141,6 +1142,21 @@ where wisr.result_id = #{stackResultId}
         from RMS_MATERIAL
         where MATERIAL_CODE=#{materialCode}
     </select>
-
+    <select id="getMaterialSteelId" resultType="java.math.BigDecimal">
+        SELECT RMS.MATERIAL_STEEL_ID FROM RMS_MATERIAL_STEEL RMS
+        WHERE RMS.MATERIAL_ONLY_CODE = #{materialOnlyCode}
+    </select>
+    <delete id="deleteMaterialSteel">
+        delete from RMS_MATERIAL_STEEL RMS
+        where rms.MATERIAL_STEEL_ID = #{materialSteelId}
+    </delete>
+    <delete id="deleteInboundResult">
+        delete from WMSP_INBOUND_RESULT WIR
+        WHERE WIR.MATERIAL_ID = #{materialSteelId}
+    </delete>
+    <delete id="deleteInboundScanResult">
+        delete from WMSP_INBOUND_SCAN_RESULT WISR
+        where WISR.MATERIAL_ID = #{materialSteelId}
+    </delete>
 
 </mapper>