Commit 61b46b289f1547846aa7376a93aa7b8d7f244b99

Authored by pengcheng
1 parent 7b1a6e37

已质检的库存无需再质检

src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
... ... @@ -90,10 +90,10 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe
90 90 TaskHeader taskHeader = new TaskHeader();
91 91 taskHeader.setWarehouseCode(inventoryDetail.getWarehouseCode());
92 92 taskHeader.setCompanyCode(inventoryDetail.getCompanyCode());
93   - taskHeader.setInternalTaskType(900);
  93 + taskHeader.setInternalTaskType(200);
94 94 taskHeader.setTaskType(900);
95 95 taskHeader.setContainerCode(inventoryDetail.getContainerCode());
96   - taskHeader.setStatus(1);
  96 + taskHeader.setStatus(0);
97 97 taskHeader.setFromLocation(inventoryDetail.getLocationCode());
98 98 taskHeader.setToLocation(inventoryDetail.getLocationCode());
99 99 taskHeader.setCreated(new Date());
... ... @@ -140,10 +140,8 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe
140 140 @Transactional
141 141 public AjaxResult detailCheckTask(Integer[] ids) throws InvocationTargetException, IllegalAccessException {
142 142 HashSet<String> codeSet=new HashSet();
143   -
  143 + Integer size=0;
144 144 for(Integer id : ids){
145   -
146   - detailcreateCheckOutTask(id);
147 145 //查找库存明细,是否为同一个入库单入库的
148 146 InventoryDetail inventoryDetail=this.getById(id);
149 147 if(inventoryDetail==null){
... ... @@ -152,7 +150,11 @@ public class InventoryDetailServiceImpl extends ServiceImpl&lt;InventoryDetailMappe
152 150 if(StringUtils.isEmpty(inventoryDetail.getReceiptCode())){
153 151 throw new ServiceException("查不到库存的入库源头");
154 152 }
155   - codeSet.add(inventoryDetail.getReceiptCode());
  153 +
  154 + //查找未质检的
  155 + if(inventoryDetail.getQcCheck().equals("2")) {
  156 + codeSet.add(inventoryDetail.getReceiptCode());
  157 + }
156 158 }
157 159  
158 160 List<InventoryDetail> inventoryDetails=new ArrayList<>();
... ... @@ -160,7 +162,7 @@ public class InventoryDetailServiceImpl extends ServiceImpl&lt;InventoryDetailMappe
160 162 //对库存分类,已入库单划分
161 163 for(Integer id : ids){
162 164 InventoryDetail inventoryDetail=this.getById(id);
163   - if(inventoryDetail.getReceiptCode().equals(code)){
  165 + if(inventoryDetail.getReceiptCode().equals(code) && inventoryDetail.getQcCheck().equals("2")){
164 166 inventoryDetails.add(inventoryDetail);
165 167 }
166 168 }
... ... @@ -207,14 +209,27 @@ public class InventoryDetailServiceImpl extends ServiceImpl&lt;InventoryDetailMappe
207 209 checkDetail.setInventoryDetailId(item.getId());
208 210 checkDetail.setStatus("0");
209 211 checkDetail.setCreatedBy(ShiroUtils.getLoginName());
  212 + checkDetail.setCreated(new Date());
  213 + checkDetail.setLastUpdatedBy(null);
  214 + checkDetail.setLastUpdated(new Date());
210 215 checkDetails.add(checkDetail);
  216 + detailcreateCheckOutTask(item.getId());
  217 + item.setQcCheck("1");
211 218 }
212 219 flag=checkDetailService.saveBatch(checkDetails);
213 220 if(flag == false){
214 221 throw new ServiceException("质检子表插入失败");
215 222 }
  223 + if(this.updateBatchById(inventoryDetails) == false){
  224 + throw new ServiceException("库存修改状态失败");
  225 + }
  226 + }
  227 + size=ids.length-inventoryDetails.size();
  228 + if(size == ids.length){
  229 + return AjaxResult.success("所有库存已质检!或无需质检");
  230 + }else {
  231 + return AjaxResult.success("在库质检任务下发成功!有" + size + "条库存明细已质检。");
216 232 }
217   - return AjaxResult.success("在库质检任务下发成功!");
218 233 }
219 234  
220 235  
... ...
src/main/resources/mybatis/check/CheckHeaderMapper.xml
... ... @@ -36,7 +36,7 @@
36 36 </sql>
37 37  
38 38 <select id="createCode" resultType="java.lang.String">
39   - SELECT code FROM check_header WHERE substring(code,1,2) = #{checkType,jdbcType=VARCHAR} ORDER BY id DESC LIMIT 1,
  39 + SELECT code FROM check_header WHERE substring(code,1,2) = #{checkType,jdbcType=VARCHAR} ORDER BY id DESC LIMIT 1
40 40 </select>
41 41  
42 42 </mapper>
43 43 \ No newline at end of file
... ...