Procházet zdrojové kódy

新增补录端口

liyg před 2 roky
rodič
revize
74952aee28

+ 34 - 1
src/main/java/com/steerinfo/dil/controller/WmsInboundScanResultController.java

@@ -28,6 +28,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.math.BigDecimal;
+import java.text.DateFormat;
 import java.text.ParseException;
 import java.util.*;
 
@@ -69,6 +70,9 @@ public class WmsInboundScanResultController extends BaseRESTfulController {
     @Autowired
     TmstruckFeign tmstruckFeign;
 
+    @Autowired
+    WmsInboundResultController inboundResultController;
+
     /**
      * 1.新增扫描吊牌实绩!!!此时入库实绩未生成
      * @param
@@ -402,5 +406,34 @@ public class WmsInboundScanResultController extends BaseRESTfulController {
         return success(mapList);
     }
 
-
+    @ApiOperation(value = "补录吊牌入库实绩")
+    @PostMapping("/recordScanResult")
+    @Transactional
+    public  synchronized RESTfulResult recordScanResult(@RequestBody(required = false)Map<String,Object> map) throws Exception {
+        if(map.get("number")==null){
+            return failed("请输入数量");
+        }else if(map.get("materialCode")==null){
+            return failed("请输入物资编码");
+        }else if(map.get("furnaceNumber")==null){
+            return failed("请输入炉号");
+        }else if(map.get("userName")==null){
+            return failed("请输入用户名");
+        }else if(map.get("theoreticalWeight")==null){
+            return failed("请输入理重");
+        }else if(map.get("warehouseId")==null){
+            return failed("请输入仓库id");
+        }
+        Integer number=Integer.parseInt(map.get("number").toString());
+        if(number<=0){
+            return failed("数量错误,结束");
+        }
+        //创建扫描实绩
+        List<Map<String,Object>> resultMaterials=wmsInboundScanResultService.createResultMaterials(map);//创建吊牌
+        wmsInboundScanResultService.createInboundScanResultByFind(resultMaterials,map);//新增扫描实绩
+        List<Map<String,Object>> inboundScans=wmsInboundScanResultService.noIssueScanResultList(map.get("userName").toString());//查询入库扫描实绩
+        //创建入库实绩
+        String userName=map.get("userName").toString();
+        BigDecimal groupId=new BigDecimal(2),personnelWorkshopid=DataChange.dataToBigDecimal("warehouseId");
+        return inboundResultController.addInvoice(userName,groupId,personnelWorkshopid,inboundScans,"物流系统补录");
+    }
 }

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

@@ -146,4 +146,7 @@ public interface WmspInboundScanResultMapper extends IBaseMapper<WmspInboundScan
 
     //查询装货实绩数量
     Integer isExistLoad(String orderNumber);
+
+    //查询物资编码的详情
+    Map<String,Object> findMaterialDetails(String materialCode);
 }

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

@@ -147,4 +147,7 @@ public interface IWmsInboundScanResultService {
 
     //查询运输订单是否已经装货
     Integer isExistLoad(String orderNumber);
+
+    //批量创建吊牌
+    List<Map<String,Object>> createResultMaterials(Map<String,Object> map);
 }

+ 46 - 0
src/main/java/com/steerinfo/dil/service/impl/WmsInboundScanResultServiceImpl.java

@@ -9,6 +9,7 @@ import com.steerinfo.dil.model.WmspInboundStackResult;
 import com.steerinfo.dil.service.IRmsMaterialSteelService;
 import com.steerinfo.dil.service.IWmsInboundScanResultService;
 import com.steerinfo.dil.service.IWmspInboundGroupService;
+import com.steerinfo.dil.util.DataChange;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -470,4 +471,49 @@ public class WmsInboundScanResultServiceImpl implements IWmsInboundScanResultSer
     public Integer isExistLoad(String orderNumber) {
         return wmspInboundScanResultMapper.isExistLoad(orderNumber);
     }
+
+    @Override
+    public List<Map<String,Object>> createResultMaterials(Map<String,Object> map){
+        List<Map<String,Object>> resultMaterials=new ArrayList<>();
+        SimpleDateFormat format=new SimpleDateFormat("yyyyMMdd");
+        //把今天作为生产日期
+        String today=format.format(new Date());
+        //总数量
+        Integer number=Integer.parseInt(map.get("number").toString());
+        //物资编码
+        String materialCode=map.get("materialCode").toString();
+        //炉号
+        String furnaceNumber=map.get("furnaceNumber").toString();
+        //理重
+        BigDecimal theoreticalWeight= DataChange.dataToBigDecimal(map.get("theoreticalWeight"));
+        Map<String,Object> materialDetails=wmspInboundScanResultMapper.findMaterialDetails(materialCode);
+        if(materialDetails==null || materialDetails.get("materialModel")==null || materialDetails.get("materialSpecification")==null)
+            return null;
+        //物资型号
+        String materialModel=materialDetails.get("materialModel").toString();
+        //物资规格
+        String materialSpecification=materialDetails.get("materialSpecification").toString();
+        String arr[]=materialSpecification.split("Φ");
+        if(arr.length>1){
+            materialSpecification=arr[1];
+        }
+        for(int i=0;i<number;i++){
+            Map<String,Object> temp=new HashMap<>();
+            String resultMaterial="";
+            resultMaterial=materialModel+"-"
+                    +materialSpecification+"-"
+                    +furnaceNumber+"-"
+                    +"-"
+                    +theoreticalWeight+"-"
+                    +"-"
+                    +today+"-"
+                    +i+"wuliuxitongbulu"+System.currentTimeMillis()+"-"//唯一编码
+                    +materialCode+"-"
+                    +"1";
+            temp.put("resultMaterial",resultMaterial);
+            System.out.println(resultMaterial);
+            resultMaterials.add(temp);
+        }
+        return resultMaterials;
+    }
 }

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

@@ -1135,6 +1135,12 @@ where wisr.result_id = #{stackResultId}
                            ON TTR.RESULT_TOTAL_ID=TLR.RESULT_TOTAL_ID
         WHERE OO.ORDER_TYPE=25 AND ORDER_NUMBER=SUBSTR(#{orderNumber}, 0, 21) AND TLR.RESULT_ID IS NOT NULL
     </select>
+    <select id="findMaterialDetails" resultType="java.util.Map">
+        select MATERIAL_MODEL "materialModel",
+               MATERIAL_SPECIFICATION "materialSpecification"
+        from RMS_MATERIAL
+        where MATERIAL_CODE=#{materialCode}
+    </select>
 
 
 </mapper>