Ver código fonte

修改完成

Tiroble 3 anos atrás
pai
commit
7bf702c22b
21 arquivos alterados com 435 adições e 56 exclusões
  1. 2 0
      src/main/java/com/steerinfo/dil/controller/WmsInboundResultController.java
  2. 62 18
      src/main/java/com/steerinfo/dil/controller/WmspOutboundResultController.java
  3. 3 0
      src/main/java/com/steerinfo/dil/mapper/RmsMaterialSteelMapper.java
  4. 5 0
      src/main/java/com/steerinfo/dil/mapper/WmspOutboundResultMaterialMapper.java
  5. 4 0
      src/main/java/com/steerinfo/dil/mapper/WmspOutboundScanResultMapper.java
  6. 33 4
      src/main/java/com/steerinfo/dil/model/WmspOutboundResultMaterial.java
  7. 3 0
      src/main/java/com/steerinfo/dil/service/IRmsMaterialSteelService.java
  8. 6 0
      src/main/java/com/steerinfo/dil/service/IWmspOutboundResultMaterialService.java
  9. 5 0
      src/main/java/com/steerinfo/dil/service/IWmspOutboundResultService.java
  10. 9 0
      src/main/java/com/steerinfo/dil/service/IWmspOutboundScanResultService.java
  11. 6 0
      src/main/java/com/steerinfo/dil/service/impl/RmsMaterialSteelServiceImpl.java
  12. 11 0
      src/main/java/com/steerinfo/dil/service/impl/WmspOutboundResultMaterialServiceImpl.java
  13. 94 2
      src/main/java/com/steerinfo/dil/service/impl/WmspOutboundResultServiceImpl.java
  14. 36 0
      src/main/java/com/steerinfo/dil/service/impl/WmspOutboundScanResultServiceImpl.java
  15. 5 4
      src/main/java/com/steerinfo/dil/vo/OutBoundDetailed.java
  16. 3 1
      src/main/java/com/steerinfo/dil/vo/OutBoundMaterialDetailedInfo.java
  17. 13 0
      src/main/java/com/steerinfo/dil/vo/OutBoundTypeDetailedInfo.java
  18. 8 0
      src/main/resources/com/steerinfo/dil/mapper/RmsMaterialSteelMapper.xml
  19. 15 13
      src/main/resources/com/steerinfo/dil/mapper/WmspOutboundResultMapper.xml
  20. 92 14
      src/main/resources/com/steerinfo/dil/mapper/WmspOutboundResultMaterialMapper.xml
  21. 20 0
      src/main/resources/com/steerinfo/dil/mapper/WmspOutboundScanResultMapper.xml

+ 2 - 0
src/main/java/com/steerinfo/dil/controller/WmsInboundResultController.java

@@ -160,6 +160,7 @@ public class WmsInboundResultController extends BaseRESTfulController {
                 }
             }
                int status3= wmspInboundDistributeService.updateDistributeStatus(conditionMap.get("distributeId").toString());
+
                 return success("下发成功");
         //第n批第一次提交
         }else{
@@ -208,6 +209,7 @@ public class WmsInboundResultController extends BaseRESTfulController {
                     if(mapList.size()==i+1){
                         int status2= wmsInboundResultServiceImpl.updateInboundStatus(wmspInboundDistribute.getDistributeId());
                     }
+
                 }
                 int status3= wmspInboundDistributeService.updateDistributeStatus(wmspInboundDistribute.getDistributeId().toString());
 

+ 62 - 18
src/main/java/com/steerinfo/dil/controller/WmspOutboundResultController.java

@@ -7,11 +7,14 @@ import com.steerinfo.dil.model.WmspOutboundResult;
 import com.steerinfo.dil.model.WmspOutboundScanResult;
 import com.steerinfo.dil.service.IWmspOutboundResultMaterialService;
 import com.steerinfo.dil.service.impl.WmspOutboundResultServiceImpl;
+import com.steerinfo.dil.service.impl.WmspOutboundScanResultServiceImpl;
 import com.steerinfo.dil.util.BaseRESTfulController;
 import com.steerinfo.dil.util.ColumnDataUtil;
 import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.dil.vo.OutBoundDetailed;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -40,15 +43,17 @@ import java.util.*;
 public class WmspOutboundResultController extends BaseRESTfulController {
 
     @Autowired
-    WmspOutboundResultServiceImpl wmspOutboundResultService;
+    private WmspOutboundResultServiceImpl wmspOutboundResultService;
     @Autowired
-    WmspInboundScanResultMapper wmspInboundScanResultMapper;
+    private WmspInboundScanResultMapper wmspInboundScanResultMapper;
     @Autowired
-    IWmspOutboundResultMaterialService wmspOutboundResultMaterialService;
+    private IWmspOutboundResultMaterialService wmspOutboundResultMaterialService;
     @Autowired
-    CommonSeq commonSeq;
+    private WmspOutboundScanResultServiceImpl wmspOutboundScanResultService;
     @Autowired
-    ESFeign esFeign;
+    private CommonSeq commonSeq;
+    @Autowired
+    private  ESFeign esFeign;
 
 
     /**
@@ -106,6 +111,13 @@ public class WmspOutboundResultController extends BaseRESTfulController {
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, libaryOutBoundList, columnList);
         return success(pageList);
     }
+    @ApiOperation("进入出库扫码页面,查询出库物资信息详情")
+    @GetMapping("/getInitOutboundScanResultMaterialInfo")
+    @ApiImplicitParam(name = "resultId",value = "出库实绩id",paramType = "BigDecimal",required = true)
+    public RESTfulResult getInitOutboundScanResultMaterialInfo(@RequestParam(value = "resultId",required = true) BigDecimal resultId){
+        OutBoundDetailed outBoundDetailed= wmspOutboundResultService.getInitOutboundScanResultMaterialInfo(resultId);
+        return success(outBoundDetailed);
+    }
 
     /**
      * 编写人:hukui
@@ -115,7 +127,6 @@ public class WmspOutboundResultController extends BaseRESTfulController {
      * 返回值:
      *   list:出库单实绩
      * */
-    @Transactional
     @PostMapping(value = "/insertWmspOutBoundResult")
     public Map<String, Object> insertWmspOutBoundResult(@RequestBody(required = false) Map<String, Object> mapval){
         /**拿到前端传递的运输订单号*/
@@ -124,16 +135,15 @@ public class WmspOutboundResultController extends BaseRESTfulController {
         Map<String, Object> order = wmspOutboundResultService.getOrder(orderNumber);
         /**拿运输订单信息中的运输订单Id*/
         BigDecimal orderId = (BigDecimal) order.get("orderId");
-//        根据该运输订单Id判断当前订单是否已经完成出厂,若完成直接返回null
+        //根据该运输订单Id判断当前订单是否已经完成出厂,若完成直接返回null
         if (wmspOutboundResultService.getOutboundStatus(orderId)==0){
+
+            Map<String,Object> map = new HashMap<>();
+            map.put("orderId",orderId);
             /**根据运输订单ID和物资id查询出库单(没有逻辑删除)
              *若orderNum大于0,则不是第一次扫描,已经新增出库单,返回详情信息
              *若orderNum等于0,则是第一次扫描,需要增加出库单,再返回详情信息
              * */
-            Map<String,Object> map = new HashMap<>();
-            map.put("orderId",orderId);
-            //初始化出库单详情信息
-            Map<String, Object> outBoundDetailedInfo=null;
             int orderNum = wmspOutboundResultService.ExistWmspOutboundResult(map);
             if(orderNum == 0){
                 //创建出货单
@@ -141,11 +151,13 @@ public class WmspOutboundResultController extends BaseRESTfulController {
                 if (wmspOutboundResult!=null){
                     /**根据运输订单号,查询出该订单还没有装货的物资*/
                     List<Map<String,Object>> orderList = wmspOutboundResultService.getMaterial(orderId.intValue());
-                    int status= wmspOutboundResultMaterialService.insertOutboundMaterial(orderId,orderList);
+                    int status= wmspOutboundResultMaterialService.insertOutboundMaterial(wmspOutboundResult.getResultId(),orderList);
 
                 }
             }
-            return outBoundDetailedInfo;
+            //查询运单相关信息
+
+            return wmspOutboundResultService.getOutBoundDetailedInfo(orderId);
         }
         return null;
     }
@@ -166,7 +178,7 @@ public class WmspOutboundResultController extends BaseRESTfulController {
     }
 
     /**
-     * 编写人:zouzhendon
+     * 编写人:yanghaiming
      * 装卸工PDA前端扫描钢材吊牌二维码,新增出库单扫描实绩并返回已扫描并稽核成功的物资信息
      * 参数:
      *   map(resultNumber 出库单号,personnelJobNumber 装卸工工号 resultMaterial 装卸工扫描吊牌结果)
@@ -176,15 +188,47 @@ public class WmspOutboundResultController extends BaseRESTfulController {
     @Transactional
     @PostMapping(value = "/insertwmspOutboundScanResult")
     public synchronized RESTfulResult insertwmspOutboundScanResult(@RequestBody(required = false) Map<String, Object> map){
+        //判断物资是否满足要求,目前一下三种不做处理的判断
+        //获取装卸工扫描吊牌结果   HRB400-14-21706854-9-3049-280-20211001015115-7a63cd87a4095e7f-08010103010100003-4
+        String subResultMaterial = map.get("resultMaterial").toString().substring(0,map.get("resultMaterial").toString().length() - 1);
+        //获取出库单号
+        BigDecimal resultId = new BigDecimal(map.get("resultId").toString());
+        //物资唯一编码
+        String MaterialOnlyCode=subResultMaterial.split("-")[7];
+        //判断物质是否已经被扫描
+        int isScan = wmspOutboundResultService.ExistScanResult(subResultMaterial);
+        //判断物资是否是需要出库的物资,需要出库物资数量不等于0,通过物资唯一编码和出库实绩
+        Integer materialNumber = wmspOutboundResultMaterialService.isOutboundResultMaterial(MaterialOnlyCode,resultId);
+        //判断物资是否数量已满
+        int scanCount = wmspOutboundScanResultService.getScanCount(MaterialOnlyCode,resultId);
+        if(isScan==0&&(materialNumber!=null&&materialNumber!=0)&&(materialNumber>scanCount)){
+            //创建扫描实绩
+            //通过装卸工工号查询装卸工Id
+            BigDecimal personnelId = wmspOutboundResultService.getPersonnelIdByJobnumber(map.get("personnelJobNumber").toString());
+            int status= wmspOutboundResultService.createOutboundScanResult(subResultMaterial,personnelId,resultId);
+        }
+
+        //返回值展示结果
+        return failed();
+    }
+    /**
+     * 编写人:zouzhendon
+     * 装卸工PDA前端扫描钢材吊牌二维码,新增出库单扫描实绩并返回已扫描并稽核成功的物资信息
+     * 参数:
+     *   map(resultNumber 出库单号,personnelJobNumber 装卸工工号 resultMaterial 装卸工扫描吊牌结果)
+     * 返回值:
+     *   list:出库单实绩
+     * */
+    @Transactional
+    @PostMapping(value = "/insertwmspOutboundScanResult2")
+    public synchronized RESTfulResult insertwmspOutboundScanResult2(@RequestBody(required = false) Map<String, Object> map){
       ///获得前台传来得信息
 
-       //获取装卸工扫描吊牌结果                                                           HRB400-14-21706854-9-3049-280-20211001015115-7a63cd87a4095e7f-08010103010100003-4
+       //获取装卸工扫描吊牌结果   HRB400-14-21706854-9-3049-280-20211001015115-7a63cd87a4095e7f-08010103010100003-4
         String resultMaterial = (String) map.get("resultMaterial");
         String subResultMaterial = resultMaterial.substring(0,resultMaterial.length() - 1);
         //获取出库单号
-        Integer resultId1 = (Integer) map.get("resultId");
-        //通过出库单号查询出库实绩ID
-        BigDecimal resultId = new BigDecimal(resultId1);
+        BigDecimal resultId = new BigDecimal(map.get("resultId").toString());
         /**根据扫描结果查询扫描实绩、判断是否一件出库
          *          若scanCount大于0,则不是第一次扫描,已经新增出库扫描实绩,返回已扫描过
          *          若scanCount等于0,则是第一次扫描,需要增加出库扫描实绩,再返回已扫描并稽核成功的物资信息

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

@@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Select;
 
 import java.math.BigDecimal;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 @Mapper
@@ -16,4 +17,6 @@ public interface RmsMaterialSteelMapper extends IBaseMapper<RmsMaterialSteel, Bi
     BigDecimal getCount();
 
     Map<String, Object> getMaterialSteel(HashMap<String, Object> mapRmsMaterialSteel);
+
+    Integer getScanCount(String onlyCode, List<String> onlyCodes);
 }

+ 5 - 0
src/main/java/com/steerinfo/dil/mapper/WmspOutboundResultMaterialMapper.java

@@ -1,6 +1,7 @@
 package com.steerinfo.dil.mapper;
 
 import com.steerinfo.dil.model.WmspOutboundResultMaterial;
+import com.steerinfo.dil.vo.OutBoundTypeDetailedInfo;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -14,4 +15,8 @@ import java.util.Map;
 public interface WmspOutboundResultMaterialMapper extends IBaseMapper<WmspOutboundResultMaterial, BigDecimal> {
 
     int insertOutboundMaterial(@Param("orderId") BigDecimal orderId, @Param("orderList") List<Map<String, Object>> orderList, @Param("nowDate") Date nowDate, @Param("user") String user);
+
+    List<OutBoundTypeDetailedInfo> getOutBoundTypeDetailedInfo(BigDecimal resultId);
+
+    Integer isOutboundResultMaterial(String onlycode, BigDecimal resultId);
 }

+ 4 - 0
src/main/java/com/steerinfo/dil/mapper/WmspOutboundScanResultMapper.java

@@ -1,6 +1,7 @@
 package com.steerinfo.dil.mapper;
 
 import com.steerinfo.dil.model.WmspOutboundScanResult;
+import com.steerinfo.dil.vo.OutBoundMaterialDetailedInfo;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -15,4 +16,7 @@ public interface WmspOutboundScanResultMapper extends IBaseMapper<WmspOutboundSc
     //通过物资唯一编码找寻物资名称、规格型号、物资唯一编码和物资质检是否合格
     List<Map<String, Object>> getRmsMaterial (String materialOnlyCode);
 
+    List<OutBoundMaterialDetailedInfo> getOutBoundMaterialDetailedInfos(List<String> onlyCodes);
+
+    List<String> getResultStrs(BigDecimal resultId);
 }

+ 33 - 4
src/main/java/com/steerinfo/dil/model/WmspOutboundResultMaterial.java

@@ -3,7 +3,6 @@ package com.steerinfo.dil.model;
 import com.steerinfo.framework.model.IBasePO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
 import java.math.BigDecimal;
 import java.util.Date;
 
@@ -55,7 +54,7 @@ public class WmspOutboundResultMaterial implements IBasePO<BigDecimal> {
      * 逻辑删除(DELETED,DECIMAL,0)
      */
     @ApiModelProperty(value="逻辑删除",required=false)
-    private Short deleted;
+    private BigDecimal deleted;
 
     /**
      * 物资ID(MATERIAL_ID,DECIMAL,38)
@@ -63,6 +62,18 @@ public class WmspOutboundResultMaterial implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="物资ID",required=false)
     private BigDecimal materialId;
 
+    /**
+     * 物资数量(MATERIAL_NUMBER,DECIMAL,0)
+     */
+    @ApiModelProperty(value="物资数量",required=false)
+    private BigDecimal materialNumber;
+
+    /**
+     * 物资重量(MATERIAL_WEIGHT,DECIMAL,0)
+     */
+    @ApiModelProperty(value="物资重量",required=false)
+    private BigDecimal materialWeight;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -131,11 +142,11 @@ public class WmspOutboundResultMaterial implements IBasePO<BigDecimal> {
         this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
     }
 
-    public Short getDeleted() {
+    public BigDecimal getDeleted() {
         return deleted;
     }
 
-    public void setDeleted(Short deleted) {
+    public void setDeleted(BigDecimal deleted) {
         this.deleted = deleted;
     }
 
@@ -147,6 +158,22 @@ public class WmspOutboundResultMaterial implements IBasePO<BigDecimal> {
         this.materialId = materialId;
     }
 
+    public BigDecimal getMaterialNumber() {
+        return materialNumber;
+    }
+
+    public void setMaterialNumber(BigDecimal materialNumber) {
+        this.materialNumber = materialNumber;
+    }
+
+    public BigDecimal getMaterialWeight() {
+        return materialWeight;
+    }
+
+    public void setMaterialWeight(BigDecimal materialWeight) {
+        this.materialWeight = materialWeight;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -162,6 +189,8 @@ public class WmspOutboundResultMaterial implements IBasePO<BigDecimal> {
         sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
         sb.append(", deleted=").append(deleted);
         sb.append(", materialId=").append(materialId);
+        sb.append(", materialNumber=").append(materialNumber);
+        sb.append(", materialWeight=").append(materialWeight);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

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

@@ -2,6 +2,7 @@ package com.steerinfo.dil.service;
 
 import java.math.BigDecimal;
 import java.text.ParseException;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -36,4 +37,6 @@ public interface IRmsMaterialSteelService {
   根据物资唯一编码查询钢材物资ID
    */
     BigDecimal getMaterialSteelId(Map<String, Object> map);
+
+    Integer getScanCount(String onlyCode, List<String> onlyCodes);
 }

+ 6 - 0
src/main/java/com/steerinfo/dil/service/IWmspOutboundResultMaterialService.java

@@ -1,6 +1,7 @@
 package com.steerinfo.dil.service;
 
 import com.steerinfo.dil.model.WmspOutboundResultMaterial;
+import com.steerinfo.dil.vo.OutBoundTypeDetailedInfo;
 import com.steerinfo.framework.service.IBaseService;
 
 import java.math.BigDecimal;
@@ -23,4 +24,9 @@ import java.util.Map;
 public interface IWmspOutboundResultMaterialService extends IBaseService<WmspOutboundResultMaterial, BigDecimal>{
 
     int insertOutboundMaterial(BigDecimal orderId, List<Map<String, Object>> orderList);
+
+    List<OutBoundTypeDetailedInfo> getOutBoundTypeDetailedInfo(BigDecimal resultId);
+
+    Integer isOutboundResultMaterial(String onlycode, BigDecimal resultId);
+
 }

+ 5 - 0
src/main/java/com/steerinfo/dil/service/IWmspOutboundResultService.java

@@ -2,6 +2,7 @@ package com.steerinfo.dil.service;
 
 import com.steerinfo.dil.model.WmspOutboundResult;
 import com.steerinfo.dil.model.WmspOutboundScanResult;
+import com.steerinfo.dil.vo.OutBoundDetailed;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -77,4 +78,8 @@ public interface IWmspOutboundResultService {
     int getOutboundStatus(BigDecimal orderId);
 
     WmspOutboundResult createOutboundResult(BigDecimal orderId, BigDecimal orderType);
+
+    OutBoundDetailed getInitOutboundScanResultMaterialInfo(BigDecimal resultId);
+
+    int createOutboundScanResult(String subResultMaterial, BigDecimal personnelId, BigDecimal resultId);
 }

+ 9 - 0
src/main/java/com/steerinfo/dil/service/IWmspOutboundScanResultService.java

@@ -1,7 +1,9 @@
 package com.steerinfo.dil.service;
 
 import com.steerinfo.dil.model.WmspOutboundScanResult;
+import com.steerinfo.dil.vo.OutBoundMaterialDetailedInfo;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
@@ -24,4 +26,11 @@ public interface IWmspOutboundScanResultService {
     List<Map<String, Object>> getResultMaterial(Integer resultId);
     //通过物资唯一编码找寻物资名称、规格型号、物资唯一编码和物资质检是否合格
     List<Map<String, Object>> getRmsMaterial (String materialOnlyCode);
+
+    List<OutBoundMaterialDetailedInfo> getOutBoundMaterialDetailedInfos(List<String> onlyCodes);
+
+
+    List<String> getOutBoundScanResultOnlyCodes(BigDecimal resultId);
+
+    int getScanCount(String s, BigDecimal resultId);
 }

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

@@ -15,6 +15,7 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -220,4 +221,9 @@ public class RmsMaterialSteelServiceImpl implements IRmsMaterialSteelService {
     public BigDecimal getMaterialSteelId(Map<String, Object> map) {
         return rmsMaterialSteelMapper.selectMaterialSteelId(map);
     }
+
+    @Override
+    public Integer getScanCount(String onlyCode, List<String> onlyCodes) {
+        return rmsMaterialSteelMapper.getScanCount(onlyCode,onlyCodes);
+    }
 }

+ 11 - 0
src/main/java/com/steerinfo/dil/service/impl/WmspOutboundResultMaterialServiceImpl.java

@@ -3,6 +3,7 @@ package com.steerinfo.dil.service.impl;
 import com.steerinfo.dil.mapper.WmspOutboundResultMaterialMapper;
 import com.steerinfo.dil.model.WmspOutboundResultMaterial;
 import com.steerinfo.dil.service.IWmspOutboundResultMaterialService;
+import com.steerinfo.dil.vo.OutBoundTypeDetailedInfo;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.framework.service.impl.BaseServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -50,4 +51,14 @@ public class WmspOutboundResultMaterialServiceImpl extends BaseServiceImpl<WmspO
         //创建出库类型
         return wmspOutboundResultMaterialMapper.insertOutboundMaterial(orderId,list,new Date(),"admin");
     }
+
+    @Override
+    public List<OutBoundTypeDetailedInfo> getOutBoundTypeDetailedInfo(BigDecimal resultId) {
+        return wmspOutboundResultMaterialMapper.getOutBoundTypeDetailedInfo(resultId);
+    }
+
+    @Override
+    public Integer isOutboundResultMaterial(String onlycode, BigDecimal resultId) {
+        return wmspOutboundResultMaterialMapper.isOutboundResultMaterial(onlycode,resultId);
+    }
 }

+ 94 - 2
src/main/java/com/steerinfo/dil/service/impl/WmspOutboundResultServiceImpl.java

@@ -2,11 +2,16 @@ package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.feign.TmstruckFeign;
 import com.steerinfo.dil.mapper.CommonSeq;
+import com.steerinfo.dil.mapper.WmspInboundScanResultMapper;
 import com.steerinfo.dil.mapper.WmspOutboundResultMapper;
 import com.steerinfo.dil.mapper.WmspOutboundScanResultMapper;
 import com.steerinfo.dil.model.WmspOutboundResult;
+import com.steerinfo.dil.model.WmspOutboundResultMaterial;
 import com.steerinfo.dil.model.WmspOutboundScanResult;
 import com.steerinfo.dil.service.IWmspOutboundResultService;
+import com.steerinfo.dil.vo.OutBoundDetailed;
+import com.steerinfo.dil.vo.OutBoundMaterialDetailedInfo;
+import com.steerinfo.dil.vo.OutBoundTypeDetailedInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -40,7 +45,11 @@ public class WmspOutboundResultServiceImpl  implements IWmspOutboundResultServic
     @Autowired
     private WmsInboundResultServiceImpl wmsInboundResultService;
     @Autowired
-    WmspOutboundResultServiceImpl wmspOutboundResultService;
+    private WmspOutboundResultMaterialServiceImpl wmspOutboundResultMaterialService;
+    @Autowired
+    private WmspOutboundScanResultServiceImpl wmspOutboundScanResultService;
+    @Autowired
+    private WmspInboundScanResultMapper wmspInboundScanResultMapper;
     @Autowired
     CommonSeq commonSeq;
     @Autowired
@@ -283,10 +292,93 @@ public class WmspOutboundResultServiceImpl  implements IWmspOutboundResultServic
         wmspOutboundResult.setDeleted(new BigDecimal(0));
         //还没装货的物资id的第一条添加到出库单实体中
         //wmspOutboundResult.setMaterialId(materialId);
-        Integer res = wmspOutboundResultService.insertSelective(wmspOutboundResult);
+        Integer res =insertSelective(wmspOutboundResult);
         if (res>0){
             return wmspOutboundResult;
         }
         return null;
     }
+
+    /**
+     * 通过出库实绩id查询出 出库物资的详情信息
+     * @param resultId
+     * @return
+     */
+    @Override
+    public OutBoundDetailed getInitOutboundScanResultMaterialInfo(BigDecimal resultId) {
+
+        //查询待出库物资类型详情
+        List<OutBoundTypeDetailedInfo> outBoundTypeDetailedInfos= wmspOutboundResultMaterialService.getOutBoundTypeDetailedInfo(resultId);
+        //查询扫码实绩的扫码结构
+        List<String> onlycodes= wmspOutboundScanResultService.getOutBoundScanResultOnlyCodes(resultId);
+        //出库信息展示
+        OutBoundDetailed outBoundDetailed=new OutBoundDetailed();
+        if (onlycodes.size()>0){
+            //查询出已经扫码的物资信息
+            List<OutBoundMaterialDetailedInfo> outBoundMaterialDetailedInfos= wmspOutboundScanResultService.getOutBoundMaterialDetailedInfos(onlycodes);
+            //统计出已经扫码的物资数量
+            for (OutBoundTypeDetailedInfo typeDetailedInfo :outBoundTypeDetailedInfos){
+                int count=0;
+                for (OutBoundMaterialDetailedInfo outBoundMaterialDetailedInfo: outBoundMaterialDetailedInfos){
+                    if (typeDetailedInfo.getMaterialId().equals(outBoundMaterialDetailedInfo.getMaterialId())){
+                        count++;
+                    }
+                }
+                //统计完数量赋值
+                typeDetailedInfo.setNumber(count);
+            }
+            outBoundDetailed.setOutBoundMaterialDetailedInfos(outBoundMaterialDetailedInfos);
+        }
+        outBoundDetailed.setOutBoundTypeDetailedInfos(outBoundTypeDetailedInfos);
+        return outBoundDetailed;
+    }
+
+    @Override
+    public int createOutboundScanResult(String resultMaterial, BigDecimal personnelId, BigDecimal resultId) {
+        //截取扫描结果,得到物资唯一编码
+        String[] split = resultMaterial.split("-");
+        //唯一编码
+        String MaterialOnlyCode=split[7];
+        //通过物资物资唯一编码查询钢材物资表的物资Id
+        BigDecimal SteelMaterialId = getSteelMaterialIdByMaterialOnlyCode(MaterialOnlyCode);
+        //通过出库实绩Id查询物资Id
+        BigDecimal OutboundMaterialId = getOutboundMaterialByResultId(resultId);
+
+        //初始化出库扫描实绩
+        WmspOutboundScanResult wmspOutboundScanResult = new WmspOutboundScanResult();
+
+        //使用序列号增加生成主键id
+        int seq_wmspOutboundScanResult = commonSeq.getSeqNumber("seq__WMSP_OUTBOUND_SCAN_RESULT");
+        //插入主键id
+        wmspOutboundScanResult.setResultId(new BigDecimal(seq_wmspOutboundScanResult));
+        //根据物资id查询相对应的入库实绩ID,并将其赋值给相对应的入库扫描实绩表
+        List<Map<String, Object>> list= wmspInboundScanResultMapper.getInboundResultIdByMaterial(resultMaterial);
+        //默认以获取到的第一个值作为入库实绩Id
+        Map<String ,Object> map1 = list.get(0);
+        //如果等于0说明该物资没有录入系统
+        if (list.size()==0){
+
+        }
+        wmspOutboundScanResult.setInboundResultId((BigDecimal) map1.get("inboundResultId"));
+        //插入出库实绩ID
+        wmspOutboundScanResult.setOutboundResultId(resultId);
+        //插入装卸工Id
+        wmspOutboundScanResult.setLoadId(personnelId);
+        //插入装卸工扫描吊牌结果
+        wmspOutboundScanResult.setResultMaterial(resultMaterial);
+        //插入装卸工扫描吊牌时间
+        wmspOutboundScanResult.setResultLoadTime(new Date());
+        //插入出库物资数量
+        wmspOutboundScanResult.setOutboundMaterialNumber(new BigDecimal(1));
+        //常规字段
+        wmspOutboundScanResult.setInsertUsername("admin");
+        wmspOutboundScanResult.setInsertTime(new Date());
+        wmspOutboundScanResult.setUpdateUsername("admin");
+        wmspOutboundScanResult.setUpdateTime(new Date());
+        wmspOutboundScanResult.setInsertUpdateRemark("无");
+        //稽核成功,设定扫描实绩稽核结果为成功
+        wmspOutboundScanResult.setResultCheck(new BigDecimal(0));
+        //插入扫描实绩
+        return scanResultInsert(wmspOutboundScanResult);
+    }
 }

+ 36 - 0
src/main/java/com/steerinfo/dil/service/impl/WmspOutboundScanResultServiceImpl.java

@@ -3,11 +3,14 @@ package com.steerinfo.dil.service.impl;
 import com.steerinfo.dil.mapper.WmspOutboundScanResultMapper;
 import com.steerinfo.dil.model.WmspOutboundScanResult;
 import com.steerinfo.dil.service.IWmspOutboundScanResultService;
+import com.steerinfo.dil.vo.OutBoundMaterialDetailedInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * WmspOutboundScanResult服务实现:
@@ -27,6 +30,8 @@ public class WmspOutboundScanResultServiceImpl implements IWmspOutboundScanResul
 
     @Autowired
     private WmspOutboundScanResultMapper wmspOutboundScanResultMapper;
+    @Autowired
+    private RmsMaterialSteelServiceImpl rmsMaterialSteelService;
 
     @Override
     public int insertSelective(WmspOutboundScanResult wmspOutboundScanResult) {
@@ -42,4 +47,35 @@ public class WmspOutboundScanResultServiceImpl implements IWmspOutboundScanResul
     public List<Map<String, Object>> getRmsMaterial(String materialOnlyCode) {
         return wmspOutboundScanResultMapper.getRmsMaterial(materialOnlyCode);
     }
+
+    @Override
+    public List<OutBoundMaterialDetailedInfo> getOutBoundMaterialDetailedInfos(List<String> onlyCodes) {
+        return wmspOutboundScanResultMapper.getOutBoundMaterialDetailedInfos(onlyCodes);
+    }
+
+    @Override
+    public List<String> getOutBoundScanResultOnlyCodes(BigDecimal resultId) {
+        //通过出库单实绩查询已经扫码结果
+        List<String> resultStrs= wmspOutboundScanResultMapper.getResultStrs(resultId);
+        //通过扫码结果获得,唯一编码
+        List<String> onlyCodes = resultStrs.stream().map(resultStr -> {
+            return resultStr.split("-")[7];
+        }).collect(Collectors.toList());
+        return onlyCodes;
+    }
+
+    /**
+     * 查询出onlyCode数据类型的数据
+     * @param onlyCode
+     * @param resultId
+     * @return
+     */
+    @Override
+    public int getScanCount(String onlyCode, BigDecimal resultId) {
+        List<String> onlyCodes=getOutBoundScanResultOnlyCodes(resultId);
+        Integer scanCount= rmsMaterialSteelService.getScanCount(onlyCode,onlyCodes);
+        return scanCount;
+    }
+
+
 }

+ 5 - 4
src/main/java/com/steerinfo/dil/vo/OutBoundDetailed.java

@@ -1,9 +1,10 @@
 package com.steerinfo.dil.vo;
 
-import java.util.List;
+import lombok.Data;
 
+import java.util.List;
+@Data
 public class OutBoundDetailed {
-    private String orderNumber;
-    private Integer totalNumber;
-    private List<OutBoundDetailedInfo> outBoundDetailedInfos;
+    private List<OutBoundTypeDetailedInfo> outBoundTypeDetailedInfos;
+    private List<OutBoundMaterialDetailedInfo> outBoundMaterialDetailedInfos;
 }

+ 3 - 1
src/main/java/com/steerinfo/dil/vo/OutBoundDetailedInfo.java → src/main/java/com/steerinfo/dil/vo/OutBoundMaterialDetailedInfo.java

@@ -4,8 +4,10 @@ import lombok.Data;
 
 import java.math.BigDecimal;
 @Data
-public class OutBoundDetailedInfo {
+public class OutBoundMaterialDetailedInfo {
 
+    private String onlyCode;
+    private String materialId;
     private String materialCode;
     private String materialName;
     private String materialSpecification;

+ 13 - 0
src/main/java/com/steerinfo/dil/vo/OutBoundTypeDetailedInfo.java

@@ -0,0 +1,13 @@
+package com.steerinfo.dil.vo;
+
+import lombok.Data;
+
+@Data
+public class OutBoundTypeDetailedInfo {
+    private String materialId;
+    private String materialName;
+    private String materialSpecification;
+    private String materialModel;
+    private Integer number;
+    private Integer scanCodeNumber;
+}

+ 8 - 0
src/main/resources/com/steerinfo/dil/mapper/RmsMaterialSteelMapper.xml

@@ -499,4 +499,12 @@
       from rms_material_steel rms
         where rms.material_only_code=#{materialOnlyCode}
   </select>
+  <select id="getScanCount" resultType="java.lang.Integer">
+    select count(*) from rms_material_steel
+    where material_id=(select material_id from rms_material_steel where material_only_code=#{onlyCode})
+    and material_only_code in
+    <foreach collection="onlyCodes" item="item" open="(" close=")" separator=",">
+      #{item}
+    </foreach>
+  </select>
 </mapper>

+ 15 - 13
src/main/resources/com/steerinfo/dil/mapper/WmspOutboundResultMapper.xml

@@ -689,8 +689,10 @@
 
   <!--  根据运输订单id查询还没装货的物资id-->
   <select id="getMaterial" parameterType="Integer" resultType="java.util.Map">
-    SELECT
-      TLR.MATERIAL_ID "materialId",
+     SELECT
+      oom.MATERIAL_ID "materialId",
+      oom.ORDER_MATERIAL_NUMBER "materialNumber",
+      oom.ORDER_MATERIAL_WEIGHT "materialWeight",
       RM.MATERIAL_CODE "materialCode",
       RM.MATERIAL_NAME "materialName",
       RM.MATERIAL_SPECIFICATION "materialSpecification",
@@ -698,20 +700,19 @@
       RM.MATERIAL_THEORETICAL_WEIGHT "materialTheoreticalWeight"
     FROM
       OMSTRUCK_ORDER OO
-        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON OO.ORDER_ID = TTR.ORDER_ID
-        LEFT JOIN TMSTRUCK_LOAD_RESULT TLR ON TTR.RESULT_TOTAL_ID = TLR.RESULT_TOTAL_ID
-        LEFT JOIN RMS_MATERIAL RM ON TLR.MATERIAL_ID = RM.MATERIAL_ID
+        LEFT JOIN Omstruck_Order_Material oom ON OO.ORDER_ID = oom.ORDER_ID
+        LEFT JOIN RMS_MATERIAL RM ON oom.material_id = RM.MATERIAL_ID
     WHERE
       OO.ORDER_ID = #{orderId}
-      AND TLR.RESULT_LOAD_END_TIME IS NULL
-    ORDER BY
-      LOADING_SEQUENCE ASC
+--       AND TLR.RESULT_LOAD_END_TIME IS NULL
+--     ORDER BY
+--       LOADING_SEQUENCE ASC
   </select>
 
   <select id="ExistWmspOutboundResult" parameterType="java.util.Map" resultType="int">
     select count(*)
     from WMSP_OUTBOUND_RESULT w_outbound
-    where w_outbound.DELETED=0  and w_outbound.BILL_LADING_ID=#{orderId} and w_outbound.MATERIAL_ID=#{materialId}
+    where w_outbound.DELETED=0  and w_outbound.BILL_LADING_ID=#{orderId}
   </select>
 
   <select id="getOutBoundDetailedInfo" parameterType="java.math.BigDecimal" resultType="java.util.LinkedHashMap">
@@ -719,10 +720,11 @@
            w_outbound.RESULT_NUMBER "resultNumber",
            w_outbound.RESULT_OUTBOUND_TYPE "resultOutboundType",
            r_capacity.CAPACITY_NUMBER "capacityNumber",
-           r_unit.UNIT_OF_MEASURE_NAME "unitOfMeasureName",
-           t_load.RESULT_LOAD_END_TIME "resultLoadEndTime",
-           order_material.ORDER_MATERIAL_NUMBER "orderMaterialNumber",
-           w_outbound.INSERT_UPDATE_REMARK "insertUpdateRemark"
+           o_order.ORDER_NUMBER "orderNumber"
+--            r_unit.UNIT_OF_MEASURE_NAME "unitOfMeasureName",
+--            t_load.RESULT_LOAD_END_TIME "resultLoadEndTime",
+--            order_material.ORDER_MATERIAL_NUMBER "orderMaterialNumber",
+--            w_outbound.INSERT_UPDATE_REMARK "insertUpdateRemark"
     from WMSP_OUTBOUND_RESULT w_outbound
            left join OMSTRUCK_ORDER o_order
                      on w_outbound.BILL_LADING_ID=o_order.ORDER_ID

+ 92 - 14
src/main/resources/com/steerinfo/dil/mapper/WmspOutboundResultMaterialMapper.xml

@@ -11,14 +11,16 @@
     <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
     <result column="DELETED" jdbcType="DECIMAL" property="deleted" />
     <result column="MATERIAL_ID" jdbcType="DECIMAL" property="materialId" />
+    <result column="MATERIAL_NUMBER" jdbcType="DECIMAL" property="materialNumber" />
+    <result column="MATERIAL_WEIGHT" jdbcType="DECIMAL" property="materialWeight" />
   </resultMap>
   <sql id="columns">
     RESULT_MATERIAL_ID, OUTBOUND_RESULT_ID, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, 
-    UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, MATERIAL_ID
+    UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, MATERIAL_ID,MATERIAL_NUMBER,MATERIAL_WEIGHT
   </sql>
   <sql id="columns_alias">
     t.RESULT_MATERIAL_ID, t.OUTBOUND_RESULT_ID, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, 
-    t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED, t.MATERIAL_ID
+    t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED, t.MATERIAL_ID,t.MATERIAL_NUMBER,t.MATERIAL_WEIGHT
   </sql>
   <sql id="select">
     SELECT <include refid="columns" /> FROM WMSP_OUTBOUND_RESULT_MATERIAL
@@ -55,6 +57,13 @@
       <if test="materialId != null">
         and MATERIAL_ID = #{materialId}
       </if>
+      <if test="materialNumber != null">
+        and MATERIAL_NUMBER = #{materialNumber}
+      </if>
+      <if test="materialWeight != null">
+        and MATERIAL_WEIGHT = #{materialWeight}
+      </if>
+      
     </where>
   </sql>
   <sql id="whereLike">
@@ -86,6 +95,12 @@
       <if test="materialId != null">
         and MATERIAL_ID = #{materialId}
       </if>
+      <if test="materialNumber != null">
+        and MATERIAL_NUMBER = #{materialNumber}
+      </if>
+      <if test="materialWeight != null">
+        and MATERIAL_WEIGHT = #{materialWeight}
+      </if>
     </where>
   </sql>
   <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
@@ -119,16 +134,22 @@
       <if test="materialId != null">
         or MATERIAL_ID = #{materialId}
       </if>
+      <if test="materialNumber != null">
+        or MATERIAL_NUMBER = #{materialNumber}
+      </if>
+      <if test="materialWeight != null">
+    or MATERIAL_WEIGHT = #{materialWeight}
+  </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.WmspOutboundResultMaterial">
     insert into WMSP_OUTBOUND_RESULT_MATERIAL (RESULT_MATERIAL_ID, OUTBOUND_RESULT_ID, 
       INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, 
       UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, 
-      MATERIAL_ID)
+      MATERIAL_ID,MATERIAL_NUMBER,MATERIAL_WEIGHT)
     values (#{resultMaterialId,jdbcType=DECIMAL}, #{outboundResultId,jdbcType=DECIMAL}, 
       #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, 
       #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL}, 
-      #{materialId,jdbcType=DECIMAL})
+      #{materialId,jdbcType=DECIMAL},#{materialNumber,jdbcType=DECIMAL},#{materialWeight,jdbcType=DECIMAL})
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.dil.model.WmspOutboundResultMaterial">
     insert into WMSP_OUTBOUND_RESULT_MATERIAL
@@ -160,6 +181,12 @@
       <if test="materialId != null">
         MATERIAL_ID,
       </if>
+      <if test="materialNumber != null">
+        MATERIAL_NUMBER,
+      </if>
+      <if test="materialWeight != null">
+        MATERIAL_WEIGHT,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="resultMaterialId != null">
@@ -186,8 +213,11 @@
       <if test="deleted != null">
         #{deleted,jdbcType=DECIMAL},
       </if>
-      <if test="materialId != null">
-        #{materialId,jdbcType=DECIMAL},
+      <if test="materialNumber != null">
+        #{materialNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="materialWeight != null">
+        #{materialWeight,jdbcType=DECIMAL},
       </if>
     </trim>
   </insert>
@@ -200,7 +230,9 @@
       UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
       INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
       DELETED = #{deleted,jdbcType=DECIMAL},
-      MATERIAL_ID = #{materialId,jdbcType=DECIMAL}
+      MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+      MATERIAL_NUMBER = #{materialNumber,jdbcType=DECIMAL},
+      MATERIAL_WEIGHT = #{materialWeight,jdbcType=DECIMAL}
     where RESULT_MATERIAL_ID = #{resultMaterialId,jdbcType=DECIMAL}
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.WmspOutboundResultMaterial">
@@ -230,6 +262,12 @@
       <if test="materialId != null">
         MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
       </if>
+      <if test="materialNumber != null">
+        MATERIAL_NUMBER = #{materialNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="materialWeight != null">
+        MATERIAL_WEIGHT = #{materialWeight,jdbcType=DECIMAL},
+      </if>
     </set>
     where RESULT_MATERIAL_ID = #{resultMaterialId,jdbcType=DECIMAL}
   </update>
@@ -245,20 +283,22 @@
     <include refid="select" />
     <include refid="whereLike" />
   </select>
+  
+  
   <insert id="batchInsert" parameterType="java.util.List">
     insert into WMSP_OUTBOUND_RESULT_MATERIAL 
       (RESULT_MATERIAL_ID, 
       OUTBOUND_RESULT_ID, INSERT_USERNAME, 
       INSERT_TIME, UPDATE_USERNAME, 
       UPDATE_TIME, INSERT_UPDATE_REMARK, 
-      DELETED, MATERIAL_ID)
+      DELETED, MATERIAL_ID,MATERIAL_NUMBER,MATERIAL_WEIGHT)
     ( <foreach collection="list" item="item" separator="union all"> 
    select  
       #{item.resultMaterialId,jdbcType=DECIMAL}, 
       #{item.outboundResultId,jdbcType=DECIMAL}, #{item.insertUsername,jdbcType=VARCHAR}, 
       #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR}, 
-      #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR}, 
-      #{item.deleted,jdbcType=DECIMAL}, #{item.materialId,jdbcType=DECIMAL} from dual  
+      #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR},
+      #{item.deleted,jdbcType=DECIMAL}, #{item.materialId,jdbcType=DECIMAL} , #{item.materialNumber,jdbcType=DECIMAL} , #{item.materialWeight,jdbcType=DECIMAL} from dual
    </foreach> )
   </insert>
   
@@ -301,6 +341,14 @@
        <foreach close="end" collection="list" index="index" item="item" open="case RESULT_MATERIAL_ID" separator=" ">
           when #{item.resultMaterialId,jdbcType=DECIMAL} then #{item.materialId,jdbcType=DECIMAL}
        </foreach>
+      ,MATERIAL_NUMBER=
+      <foreach close="end" collection="list" index="index" item="item" open="case RESULT_MATERIAL_ID" separator=" ">
+        when #{item.resultMaterialId,jdbcType=DECIMAL} then #{item.materialNumber,jdbcType=DECIMAL}
+      </foreach>
+      ,MATERIAL_WEIGHT=
+      <foreach close="end" collection="list" index="index" item="item" open="case RESULT_MATERIAL_ID" separator=" ">
+        when #{item.resultMaterialId,jdbcType=DECIMAL} then #{item.materialWeight,jdbcType=DECIMAL}
+      </foreach>
      where RESULT_MATERIAL_ID in 
      <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
     #{item.resultMaterialId,jdbcType=DECIMAL}
@@ -315,12 +363,42 @@
   </delete>
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
-
   <insert id="insertOutboundMaterial">
-    insert into WMSP_OUTBOUND_RESULT_MATERIAL(RESULT_MATERIAL_ID,OUTBOUND_RESULT_ID,MATERIAL_ID,INSERT_USERNAME,INSERT_TIME)
-    <foreach collection="orderList" index="index" item="item" separator="union all" close=";">
-      select #{item.resultMaterialId},#{orderId},#{item.materialId},#{user},#{nowDate} from dual
+    insert into WMSP_OUTBOUND_RESULT_MATERIAL(RESULT_MATERIAL_ID,OUTBOUND_RESULT_ID,MATERIAL_ID,INSERT_USERNAME,INSERT_TIME,MATERIAL_NUMBER)
+    <foreach collection="orderList" index="index" item="item" separator="union all" >
+      select
+      #{item.resultMaterialId},#{orderId},#{item.materialId},#{user},#{nowDate},#{item.materialNumber} from dual
     </foreach>
   </insert>
   
+<!--  <id column="RESULT_MATERIAL_ID" jdbcType="DECIMAL" property="resultMaterialId" />-->
+<!--  <result column="OUTBOUND_RESULT_ID" jdbcType="DECIMAL" property="outboundResultId" />-->
+<!--  <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername" />-->
+<!--  <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime" />-->
+<!--  <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername" />-->
+<!--  <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />-->
+<!--  <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />-->
+<!--  <result column="DELETED" jdbcType="DECIMAL" property="deleted" />-->
+<!--  <result column="MATERIAL_ID" jdbcType="DECIMAL" property="materialId" />-->
+<!--  <result column="MATERIAL_NUMBER" jdbcType="DECIMAL" property="materialNumber" />-->
+<!--  <result column="MATERIAL_WEIGHT" jdbcType="DECIMAL" property="materialWeight" />-->
+  
+  <select id="getOutBoundTypeDetailedInfo" resultType="com.steerinfo.dil.vo.OutBoundTypeDetailedInfo">
+     select
+      RM.material_Id "materialId",
+      RM.MATERIAL_CODE "materialCode",
+      RM.MATERIAL_NAME "materialName",
+      RM.MATERIAL_SPECIFICATION "materialSpecification",
+      RM.MATERIAL_MODEL "materialModel",
+      worm.MATERIAL_NUMBER "number"
+    FROM
+      WMSP_OUTBOUND_RESULT_MATERIAL worm
+        LEFT JOIN RMS_MATERIAL RM ON worm.material_id = RM.MATERIAL_ID
+    where worm.OUTBOUND_RESULT_ID=#{resultId}
+  </select>
+  <select id="isOutboundResultMaterial" resultType="java.lang.Integer">
+     select material_number
+     from  wmsp_outbound_result_material
+     where material_id in ( select material_id from rms_material_steel  where  material_only_code=#{onlycode}) and OUTBOUND_RESULT_ID=#{resultId}
+  </select>
 </mapper>

+ 20 - 0
src/main/resources/com/steerinfo/dil/mapper/WmspOutboundScanResultMapper.xml

@@ -445,5 +445,25 @@
     ON gcwz.MATERIAL_ID = wz.MATERIAL_ID
     WHERE gcwz.MATERIAL_ONLY_CODE = #{materialOnlyCode}
   </select>
+  
+  <select id="getOutBoundMaterialDetailedInfos"  resultType="com.steerinfo.dil.vo.OutBoundMaterialDetailedInfo">
+     select
+      rms.MATERIAL_ONLY_CODE "onlyCode",
+      RM.material_Id "materialId",
+      RM.MATERIAL_CODE "materialCode",
+      RM.MATERIAL_NAME "materialName",
+      RM.MATERIAL_SPECIFICATION "materialSpecification",
+      RM.MATERIAL_MODEL "materialModel"
+      from RMS_MATERIAL_STEEL rms
+      left join RMS_MATERIAL RM on rms.material_id = RM.MATERIAL_ID
+      where
+     MATERIAL_ONLY_CODE in
+     <foreach collection="onlyCodes" item="item" open="(" close=")" separator=",">
+       #{item}
+     </foreach>
+  </select>
+  <select id="getResultStrs" resultType="java.lang.String">
+     select RESULT_MATERIAL "resultMaterial" from  WMSP_OUTBOUND_SCAN_RESULT where OUTBOUND_RESULT_ID=#{resultId}
+  </select>
 
 </mapper>