Commit f103151801b605b2903977758ed9dc2e3eecb167

Authored by mahuandong
2 parents 3f0b84fc 340410c4

Merge remote-tracking branch 'origin/develop' into develop

src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceService.java
@@ -2,8 +2,14 @@ package com.huaheng.pc.config.shipmentPreference.service; @@ -2,8 +2,14 @@ package com.huaheng.pc.config.shipmentPreference.service;
2 2
3 import com.baomidou.mybatisplus.extension.service.IService; 3 import com.baomidou.mybatisplus.extension.service.IService;
4 import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference; 4 import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference;
  5 +import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
  6 +
  7 +import java.util.List;
5 8
6 public interface ShipmentPreferenceService extends IService<ShipmentPreference>{ 9 public interface ShipmentPreferenceService extends IService<ShipmentPreference>{
7 10
8 11
  12 + //查看出库此操作是否符合出库首选项的出库流程
  13 + List<ShipmentHeader> checkShipmentProcess(String ids, Integer code);
  14 +
9 } 15 }
src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceServiceImpl.java
1 package com.huaheng.pc.config.shipmentPreference.service; 1 package com.huaheng.pc.config.shipmentPreference.service;
2 2
  3 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4 +import com.baomidou.mybatisplus.core.toolkit.Wrappers;
3 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 5 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  6 +import com.huaheng.common.exception.service.ServiceException;
  7 +import com.huaheng.common.support.Convert;
  8 +import com.huaheng.common.utils.StringUtils;
  9 +import com.huaheng.common.utils.security.ShiroUtils;
4 import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference; 10 import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference;
5 import com.huaheng.pc.config.shipmentPreference.mapper.ShipmentPreferenceMapper; 11 import com.huaheng.pc.config.shipmentPreference.mapper.ShipmentPreferenceMapper;
  12 +import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail;
  13 +import com.huaheng.pc.config.statusFlow.domain.StatusFlowHeader;
  14 +import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService;
  15 +import com.huaheng.pc.config.statusFlow.service.StatusFlowHeaderService;
  16 +import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
  17 +import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService;
  18 +import org.springframework.beans.factory.annotation.Autowired;
6 import org.springframework.stereotype.Service; 19 import org.springframework.stereotype.Service;
7 20
  21 +import java.util.ArrayList;
  22 +import java.util.List;
  23 +
8 @Service("shipmentPreference") 24 @Service("shipmentPreference")
9 public class ShipmentPreferenceServiceImpl extends ServiceImpl<ShipmentPreferenceMapper, ShipmentPreference> implements ShipmentPreferenceService { 25 public class ShipmentPreferenceServiceImpl extends ServiceImpl<ShipmentPreferenceMapper, ShipmentPreference> implements ShipmentPreferenceService {
10 26
  27 + @Autowired
  28 + private ShipmentPreferenceService shipmentPreferenceService;
  29 + @Autowired
  30 + private StatusFlowHeaderService statusFlowHeaderService;
  31 + @Autowired
  32 + private StatusFlowDetailService statusFlowDetailService;
  33 + @Autowired
  34 + private ShipmentHeaderService shipmentHeaderService;
  35 +
  36 +
  37 + /**
  38 + * 1、找出出库首选项
  39 + * 2、查看出库首选项的出库流程
  40 + * 3、找到该状态流的出库流程明细
  41 + * 4、判断单据是否按出库流程操作
  42 + *
  43 + * @param ids 出库单id
  44 + * @param code 状态流
  45 + * @return
  46 + */
  47 + @Override
  48 + public List<ShipmentHeader> checkShipmentProcess(String ids, Integer code) {
  49 + //查找出库首选项
  50 + ShipmentPreference shipmentPreference = shipmentPreferenceService.list().get(0);
  51 + if(shipmentPreference == null){
  52 + throw new ServiceException("系统没有设置出库首选");
  53 + }
  54 + if(StringUtils.isEmpty(shipmentPreference.getShippingFlow())){
  55 + throw new ServiceException("出库首选没有绑定出库流程");
  56 + }
  57 +
  58 + //查看出库流程
  59 + LambdaQueryWrapper<StatusFlowHeader> statusFlowHeaderLam = Wrappers.lambdaQuery();
  60 + statusFlowHeaderLam.eq(StatusFlowHeader::getCode,shipmentPreference.getShippingFlow())
  61 + .eq(StatusFlowHeader::getWarehouseCode, ShiroUtils.getWarehouseCode());
  62 + StatusFlowHeader statusFlowHeader = statusFlowHeaderService.getOne(statusFlowHeaderLam);
  63 + if(statusFlowHeader == null){
  64 + throw new ServiceException("出库首选绑定的出库流程不在系统中");
  65 + }
  66 + //查看流程明细
  67 + LambdaQueryWrapper<StatusFlowDetail> statusFlowDetailLamb = Wrappers.lambdaQuery();
  68 + statusFlowDetailLamb.eq(StatusFlowDetail::getHeaderId,statusFlowHeader.getId())
  69 + .eq(StatusFlowDetail::getWarehouseCode,ShiroUtils.getWarehouseCode())
  70 + .eq(StatusFlowDetail::getFlowCode,code.toString());
  71 + StatusFlowDetail statusFlowDetail = statusFlowDetailService.getOne(statusFlowDetailLamb);
  72 +
  73 + List<ShipmentHeader> shipmentHeaderList = new ArrayList<>();
  74 + if(statusFlowDetail != null && statusFlowDetail.getNessary() == 1){
  75 + for (Integer id : Convert.toIntArray(ids))
  76 + {
  77 + //判断单据是否按出库流程操作
  78 + ShipmentHeader shipmentHeader = shipmentHeaderService.getById(id);
  79 + if(shipmentHeader == null || shipmentHeader.getFirstStatus()<code){
  80 + throw new ServiceException("单据状态不对,此操作不符合出库流程,请按照出库流程出库");
  81 + }
  82 + shipmentHeaderList.add(shipmentHeader);
  83 + }
  84 + }
  85 + return shipmentHeaderList;
  86 + }
11 } 87 }
src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java
@@ -16,7 +16,9 @@ import com.huaheng.framework.web.page.TableDataInfo; @@ -16,7 +16,9 @@ import com.huaheng.framework.web.page.TableDataInfo;
16 import com.huaheng.framework.web.page.TableSupport; 16 import com.huaheng.framework.web.page.TableSupport;
17 import com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail; 17 import com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail;
18 import com.huaheng.pc.inventory.adjustDetail.service.AdjustDetailService; 18 import com.huaheng.pc.inventory.adjustDetail.service.AdjustDetailService;
  19 +import com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader;
19 import com.huaheng.pc.inventory.adjustHeader.service.AdjustHeaderService; 20 import com.huaheng.pc.inventory.adjustHeader.service.AdjustHeaderService;
  21 +import org.apache.shiro.authz.annotation.RequiresPermissions;
20 import org.springframework.stereotype.Controller; 22 import org.springframework.stereotype.Controller;
21 import org.springframework.ui.ModelMap; 23 import org.springframework.ui.ModelMap;
22 import org.springframework.web.bind.annotation.GetMapping; 24 import org.springframework.web.bind.annotation.GetMapping;
@@ -117,11 +119,59 @@ public class adjustDetailController extends BaseController { @@ -117,11 +119,59 @@ public class adjustDetailController extends BaseController {
117 for (Integer id : integers) 119 for (Integer id : integers)
118 { 120 {
119 AdjustDetail adjustDetailEdit = adjustDetailService.getById(id); 121 AdjustDetail adjustDetailEdit = adjustDetailService.getById(id);
  122 + //单据先审批
  123 + if(StringUtils.isEmpty(adjustDetailEdit.getAgreeBy()) || adjustDetailEdit.getStatus() < 1 ){
  124 + return AjaxResult.error("单据未审批不允许调整");
  125 + }
120 adjustDetailService.updateAdjustDetail(adjustDetailEdit); 126 adjustDetailService.updateAdjustDetail(adjustDetailEdit);
121 } 127 }
122 return AjaxResult.success("调整下发成功!"); 128 return AjaxResult.success("调整下发成功!");
123 } 129 }
124 130
  131 + /**
  132 + * 调整审批
  133 + * @param ids
  134 + * @return
  135 + */
  136 + @Log(title = "库存-调整单", operating = "调整审批", action = BusinessType.OTHER)
  137 + @PostMapping("/adjustAgree")
  138 + @ResponseBody
  139 + public AjaxResult adjustAgree (String ids){
  140 +
  141 + if(ids == null){
  142 + throw new SecurityException("ID不能为空!");
  143 + }
  144 + Integer[] integers = Convert.toIntArray(ids);
  145 + for (Integer id : integers){
  146 + AdjustDetail adjustDetailEdit = adjustDetailService.getById(id);
  147 + adjustDetailService.adjustAgree(adjustDetailEdit);
  148 +
  149 + }
  150 + return AjaxResult.success("审批已下发!");
  151 + }
  152 +
  153 + /**
  154 + * 删除调整单明细
  155 + */
  156 + //@RequiresPermissions("inventory:cyclecountDetail:remove")
  157 + @Log(title = "库存-调整", operating = "删除调整单明细", action = BusinessType.DELETE)
  158 + @PostMapping( "/remove")
  159 + @ResponseBody
  160 + public AjaxResult remove(Integer id){
  161 + if(id == null){
  162 + return AjaxResult.error("ID不能为空!");
  163 + }
  164 + AdjustDetail adjustDetail = adjustDetailService.getById(id);
  165 + if(adjustDetail.getStatus() > 0 ){
  166 + return AjaxResult.error("单据状态不允许删除");
  167 + }
  168 + adjustDetailService.removeById(id);
  169 +
  170 + return AjaxResult.success("删除成功!");
  171 + }
  172 +
  173 +
  174 +
125 175
126 176
127 177
src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailService.java
@@ -10,6 +10,8 @@ public interface AdjustDetailService extends IService&lt;AdjustDetail&gt; { @@ -10,6 +10,8 @@ public interface AdjustDetailService extends IService&lt;AdjustDetail&gt; {
10 10
11 AjaxResult updateAdjustDetail(AdjustDetail adjustDetail); 11 AjaxResult updateAdjustDetail(AdjustDetail adjustDetail);
12 12
  13 + AjaxResult adjustAgree(AdjustDetail adjustDetail);
  14 +
13 } 15 }
14 16
15 17
src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java
@@ -39,10 +39,6 @@ public class AdjustDetailServiceImpl extends ServiceImpl&lt;AdjustDetailMapper, Adj @@ -39,10 +39,6 @@ public class AdjustDetailServiceImpl extends ServiceImpl&lt;AdjustDetailMapper, Adj
39 @Resource 39 @Resource
40 private AdjustHeaderService adjustHeaderService; 40 private AdjustHeaderService adjustHeaderService;
41 @Resource 41 @Resource
42 - private CycleCountHeaderService cycleCountHeaderService;  
43 - @Resource  
44 - private CycleCountDetailService cycleCountDetailService;  
45 - @Resource  
46 private InventoryHeaderService inventoryHeaderService; 42 private InventoryHeaderService inventoryHeaderService;
47 @Resource 43 @Resource
48 private InventoryDetailService inventoryDetailService; 44 private InventoryDetailService inventoryDetailService;
@@ -59,6 +55,30 @@ public class AdjustDetailServiceImpl extends ServiceImpl&lt;AdjustDetailMapper, Adj @@ -59,6 +55,30 @@ public class AdjustDetailServiceImpl extends ServiceImpl&lt;AdjustDetailMapper, Adj
59 55
60 56
61 57
  58 +
  59 + /**
  60 + * 调整审批
  61 + * @param adjustDetail
  62 + * @return
  63 + */
  64 + @Transactional
  65 + @Override
  66 + public AjaxResult adjustAgree(AdjustDetail adjustDetail) {
  67 + //修改状态,审批人栏填入名称,修改状态
  68 + if(adjustDetail.getStatus() > 1){
  69 + return AjaxResult.error("单据状态无法审批!");
  70 + }
  71 + adjustDetail.setAgreeBy(ShiroUtils.getLoginName());
  72 + adjustDetail.setAgreeTime(new Date());
  73 + adjustDetail.setStatus(1);
  74 + adjustDetail.setLastUpdated(new Date());
  75 + adjustDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
  76 + this.saveOrUpdate(adjustDetail);
  77 +
  78 + return AjaxResult.success("审批完成!");
  79 + }
  80 +
  81 +
62 /** 82 /**
63 * 调整库存 83 * 调整库存
64 * 调整数量,调整库存状态 84 * 调整数量,调整库存状态
@@ -89,7 +109,7 @@ public class AdjustDetailServiceImpl extends ServiceImpl&lt;AdjustDetailMapper, Adj @@ -89,7 +109,7 @@ public class AdjustDetailServiceImpl extends ServiceImpl&lt;AdjustDetailMapper, Adj
89 LambdaQueryWrapper<Location> lambdaQueryWrapper = Wrappers.lambdaQuery(location); 109 LambdaQueryWrapper<Location> lambdaQueryWrapper = Wrappers.lambdaQuery(location);
90 location = locationService.getOne(lambdaQueryWrapper); 110 location = locationService.getOne(lambdaQueryWrapper);
91 if (!location.getStatus().equals("empty")) { 111 if (!location.getStatus().equals("empty")) {
92 - throw new SecurityException(inventoryDetail.getId() + "库存非空闲,请等待任务完成再进行调整!"); 112 + throw new SecurityException(inventoryDetail.getId() + "库存非空闲,请等待其他任务完成再进行调整!");
93 } 113 }
94 114
95 //判断调整哪一个属性值 115 //判断调整哪一个属性值
@@ -123,6 +143,7 @@ public class AdjustDetailServiceImpl extends ServiceImpl&lt;AdjustDetailMapper, Adj @@ -123,6 +143,7 @@ public class AdjustDetailServiceImpl extends ServiceImpl&lt;AdjustDetailMapper, Adj
123 return AjaxResult.success("调整库存成功!"); 143 return AjaxResult.success("调整库存成功!");
124 } 144 }
125 145
  146 +
126 /** 147 /**
127 * 调整修改库存数量 148 * 调整修改库存数量
128 * @param adjustDetail 149 * @param adjustDetail
src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java
@@ -174,14 +174,14 @@ public class CycleCountDetailController extends BaseController { @@ -174,14 +174,14 @@ public class CycleCountDetailController extends BaseController {
174 if(cyclecountHeader == null){ 174 if(cyclecountHeader == null){
175 return AjaxResult.error("主单据不存在"); 175 return AjaxResult.error("主单据不存在");
176 } 176 }
177 - if(cyclecountHeader.getStatusCyc() > 5){ 177 + if(cyclecountHeader.getStatusCyc() > 1){
178 return AjaxResult.error("主单据状态不允许删除"); 178 return AjaxResult.error("主单据状态不允许删除");
179 } 179 }
180 for (Integer id : detailsIds) 180 for (Integer id : detailsIds)
181 { 181 {
182 //只允许删除新建状态下的盘点明细。 182 //只允许删除新建状态下的盘点明细。
183 CycleCountDetail cyclecountDetails = cycleCountDetailService.getById(id); 183 CycleCountDetail cyclecountDetails = cycleCountDetailService.getById(id);
184 - if(cyclecountDetails.getEnableStatus() > 5){ 184 + if(cyclecountDetails.getEnableStatus() > 1){
185 return AjaxResult.error("盘点已开始执行,不允许删除该盘点明细!"); 185 return AjaxResult.error("盘点已开始执行,不允许删除该盘点明细!");
186 } 186 }
187 cycleCountDetailService.removeById(id); 187 cycleCountDetailService.removeById(id);
src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
@@ -10,6 +10,7 @@ import com.huaheng.pc.config.location.domain.Location; @@ -10,6 +10,7 @@ import com.huaheng.pc.config.location.domain.Location;
10 import com.huaheng.pc.config.location.service.LocationService; 10 import com.huaheng.pc.config.location.service.LocationService;
11 import com.huaheng.pc.config.material.domain.Material; 11 import com.huaheng.pc.config.material.domain.Material;
12 import com.huaheng.pc.config.material.service.MaterialService; 12 import com.huaheng.pc.config.material.service.MaterialService;
  13 +import com.huaheng.pc.config.shipmentPreference.service.ShipmentPreferenceService;
13 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail; 14 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
14 import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService; 15 import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
15 import com.huaheng.pc.shipment.shipmentContainerDetail.domain.ShipmentContainerDetail; 16 import com.huaheng.pc.shipment.shipmentContainerDetail.domain.ShipmentContainerDetail;
@@ -67,6 +68,8 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont @@ -67,6 +68,8 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont
67 private TaskDetailService taskDetailService; 68 private TaskDetailService taskDetailService;
68 @Autowired 69 @Autowired
69 private WaveService waveService; 70 private WaveService waveService;
  71 + @Autowired
  72 + private ShipmentPreferenceService shipmentPreferenceService;
70 73
71 74
72 @Override 75 @Override
@@ -392,6 +395,15 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont @@ -392,6 +395,15 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont
392 @Override 395 @Override
393 @Transactional 396 @Transactional
394 public AjaxResult autoCombination(String shipmentCode) { 397 public AjaxResult autoCombination(String shipmentCode) {
  398 + LambdaQueryWrapper<ShipmentHeader> shipmentHeaderLam = Wrappers.lambdaQuery();
  399 + shipmentHeaderLam.eq(ShipmentHeader::getWarehouseCode,ShiroUtils.getWarehouseCode())
  400 + .eq(ShipmentHeader::getCode,shipmentCode);
  401 + ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(shipmentHeaderLam);
  402 + if(shipmentHeader == null){
  403 + throw new ServiceException("系统没有此单据");
  404 + }
  405 + shipmentPreferenceService.checkShipmentProcess(shipmentHeader.getId().toString(),100);
  406 +
395 LambdaQueryWrapper<ShipmentDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); 407 LambdaQueryWrapper<ShipmentDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
396 lambdaQueryWrapper.eq(ShipmentDetail::getShipmentCode, shipmentCode) 408 lambdaQueryWrapper.eq(ShipmentDetail::getShipmentCode, shipmentCode)
397 .eq(ShipmentDetail::getWarehouseCode, ShiroUtils.getWarehouseCode()); 409 .eq(ShipmentDetail::getWarehouseCode, ShiroUtils.getWarehouseCode());
src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java
@@ -10,6 +10,12 @@ import com.huaheng.common.utils.security.ShiroUtils; @@ -10,6 +10,12 @@ import com.huaheng.common.utils.security.ShiroUtils;
10 import com.huaheng.framework.web.domain.AjaxResult; 10 import com.huaheng.framework.web.domain.AjaxResult;
11 import com.huaheng.pc.config.material.domain.Material; 11 import com.huaheng.pc.config.material.domain.Material;
12 import com.huaheng.pc.config.material.service.MaterialService; 12 import com.huaheng.pc.config.material.service.MaterialService;
  13 +import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference;
  14 +import com.huaheng.pc.config.shipmentPreference.service.ShipmentPreferenceService;
  15 +import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail;
  16 +import com.huaheng.pc.config.statusFlow.domain.StatusFlowHeader;
  17 +import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService;
  18 +import com.huaheng.pc.config.statusFlow.service.StatusFlowHeaderService;
13 import com.huaheng.pc.config.waveMaster.domain.WaveMaster; 19 import com.huaheng.pc.config.waveMaster.domain.WaveMaster;
14 import com.huaheng.pc.config.waveMaster.service.WaveMasterService; 20 import com.huaheng.pc.config.waveMaster.service.WaveMasterService;
15 import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; 21 import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
@@ -43,6 +49,12 @@ public class ShipmentDetailServiceImpl extends ServiceImpl&lt;ShipmentDetailMapper, @@ -43,6 +49,12 @@ public class ShipmentDetailServiceImpl extends ServiceImpl&lt;ShipmentDetailMapper,
43 private WaveMasterService waveMasterService; 49 private WaveMasterService waveMasterService;
44 @Autowired 50 @Autowired
45 private WaveService waveService; 51 private WaveService waveService;
  52 + @Autowired
  53 + private ShipmentPreferenceService shipmentPreferenceService;
  54 + @Autowired
  55 + private StatusFlowHeaderService statusFlowHeaderService;
  56 + @Autowired
  57 + private StatusFlowDetailService statusFlowDetailService;
46 58
47 /** 59 /**
48 * 新增出库明细 60 * 新增出库明细
@@ -152,6 +164,7 @@ public class ShipmentDetailServiceImpl extends ServiceImpl&lt;ShipmentDetailMapper, @@ -152,6 +164,7 @@ public class ShipmentDetailServiceImpl extends ServiceImpl&lt;ShipmentDetailMapper,
152 164
153 165
154 /** 166 /**
  167 + * 查看选中的单据状态是否符合出库流程
155 * 选中的单据加入波次 168 * 选中的单据加入波次
156 * 根据选中的主单ID和波次主表的code,判断主单之和是否符合波次的限制条件, 169 * 根据选中的主单ID和波次主表的code,判断主单之和是否符合波次的限制条件,
157 * 看此code的波次是否建成未开始执行,如果是则只需修改波次属性,否则创建新的波次, 170 * 看此code的波次是否建成未开始执行,如果是则只需修改波次属性,否则创建新的波次,
@@ -160,6 +173,9 @@ public class ShipmentDetailServiceImpl extends ServiceImpl&lt;ShipmentDetailMapper, @@ -160,6 +173,9 @@ public class ShipmentDetailServiceImpl extends ServiceImpl&lt;ShipmentDetailMapper,
160 @Override 173 @Override
161 @Transactional 174 @Transactional
162 public void saveWave(String ids, String code) { 175 public void saveWave(String ids, String code) {
  176 + Integer status = 100;
  177 + List<ShipmentHeader> shipmentHeaderList =shipmentPreferenceService.checkShipmentProcess(ids,status);
  178 +
163 //找到波次主表,看系统是否有此波次 179 //找到波次主表,看系统是否有此波次
164 LambdaQueryWrapper<WaveMaster> lam=Wrappers.lambdaQuery(); 180 LambdaQueryWrapper<WaveMaster> lam=Wrappers.lambdaQuery();
165 lam.eq(WaveMaster::getCode,code) 181 lam.eq(WaveMaster::getCode,code)
@@ -248,12 +264,8 @@ public class ShipmentDetailServiceImpl extends ServiceImpl&lt;ShipmentDetailMapper, @@ -248,12 +264,8 @@ public class ShipmentDetailServiceImpl extends ServiceImpl&lt;ShipmentDetailMapper,
248 throw new ServiceException("出库子单加入波次失败"); 264 throw new ServiceException("出库子单加入波次失败");
249 } 265 }
250 266
251 - List<ShipmentHeader> shipmentHeaderList=new ArrayList<>();  
252 - //修改主单状态  
253 - for (Integer id : Convert.toIntArray(ids)){  
254 - ShipmentHeader shipmentHeader = shipmentHeaderService.getById(id); 267 + for(ShipmentHeader shipmentHeader :shipmentHeaderList){
255 shipmentHeader.setLastStatus(200); 268 shipmentHeader.setLastStatus(200);
256 - shipmentHeaderList.add(shipmentHeader);  
257 } 269 }
258 flag = shipmentHeaderService.updateBatchById(shipmentHeaderList); 270 flag = shipmentHeaderService.updateBatchById(shipmentHeaderList);
259 if(flag == false){ 271 if(flag == false){
src/main/resources/templates/config/statusFlowDetail/statusFlowDetail.html
@@ -25,7 +25,6 @@ @@ -25,7 +25,6 @@
25 var datas = [[${@dict.getType('sys_normal_disable')}]]; 25 var datas = [[${@dict.getType('sys_normal_disable')}]];
26 var moduleType = [[${@dict.getType('moduleType')}]]; 26 var moduleType = [[${@dict.getType('moduleType')}]];
27 var nessaryDatas = [[${@dict.getType('nessary')}]]; 27 var nessaryDatas = [[${@dict.getType('nessary')}]];
28 - var moduleType = [[${@dict.getType('moduleType')}]];  
29 28
30 $(function() { 29 $(function() {
31 var options = { 30 var options = {
src/main/resources/templates/inventory/adjustDetail/adjustDetail.html
@@ -94,8 +94,8 @@ @@ -94,8 +94,8 @@
94 <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()"> 94 <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()">
95 <i class="fa fa-plus"></i> 新增 95 <i class="fa fa-plus"></i> 新增
96 </a> 96 </a>
97 - <a class="btn btn-outline btn-primary btn-rounded" onclick="">  
98 - <i class="fa fa-edit"></i> 审核 97 + <a class="btn btn-outline btn-primary btn-rounded" onclick="agree()">
  98 + <i class="fa fa-edit"></i> 审批
99 </a> 99 </a>
100 <a class="btn btn-outline btn-danger btn-rounded" onclick="addAdjust()"/> 100 <a class="btn btn-outline btn-danger btn-rounded" onclick="addAdjust()"/>
101 <!--shiro:hasPermission="inventory:cyclecountAdjustDetail:addAdjust"--> 101 <!--shiro:hasPermission="inventory:cyclecountAdjustDetail:addAdjust"-->
@@ -320,7 +320,7 @@ @@ -320,7 +320,7 @@
320 align: 'center', 320 align: 'center',
321 formatter: function (value, row, index) { 321 formatter: function (value, row, index) {
322 var actions = []; 322 var actions = [];
323 - actions.push('<a class="btn btn-danger btn-xs" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> '); 323 + actions.push('<a class="btn btn-danger btn-xs" href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> ');
324 return actions.join(''); 324 return actions.join('');
325 } 325 }
326 } 326 }
@@ -353,10 +353,22 @@ @@ -353,10 +353,22 @@
353 353
354 }); 354 });
355 355
  356 + /*审批*/
  357 + function agree() {
  358 + var rows = $.common.isEmpty($.table._option.id) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.id);
  359 + if (rows.length == 0) {
  360 + $.modal.alertWarning("请至少选择一条记录");
  361 + return;
  362 + }
  363 + $.modal.confirm("审批请谨慎核对数据!"
  364 + , function() {
  365 + var url = prefix + "/adjustAgree";
  366 + var data = { "ids": rows.join() };
  367 + postInner(url, data);
  368 + });
  369 + }
356 370
357 - /*  
358 - *盘点差异调整  
359 - * */ 371 + /*调整*/
360 function addAdjust() { 372 function addAdjust() {
361 var rows = $.common.isEmpty($.table._option.id) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.id); 373 var rows = $.common.isEmpty($.table._option.id) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.id);
362 if (rows.length == 0) { 374 if (rows.length == 0) {
@@ -365,9 +377,49 @@ @@ -365,9 +377,49 @@
365 } 377 }
366 $.modal.confirm("注意:该操作将更改库存,当实盘数量为0且库位上只剩空容器时,请手动执行空托出库任务,容器上有货则无需其他操作!" 378 $.modal.confirm("注意:该操作将更改库存,当实盘数量为0且库位上只剩空容器时,请手动执行空托出库任务,容器上有货则无需其他操作!"
367 , function() { 379 , function() {
368 - var url = prefix + "/adjustEdit";  
369 - var data = { "ids": rows.join() };  
370 - postInner(url, data); 380 + var url = prefix + "/adjustEdit";
  381 + var data = { "ids": rows.join() };
  382 + postInner(url, data);
  383 + });
  384 + }
  385 +
  386 + function postInner(url,data) {
  387 + $.modal.loading("正在处理中,请稍后...");
  388 + $.ajax({
  389 + url:url,
  390 + type:"post",
  391 + data:data,
  392 + success:function (result) {
  393 + if (result.code == web_status.SUCCESS) {
  394 + $.modal.msgSuccess(result.msg);
  395 + $.table.refresh();
  396 + } else {
  397 + $.modal.alertError(result.msg);
  398 + }
  399 + $.modal.closeLoading();
  400 + }
  401 + })
  402 + }
  403 +
  404 + /*单条删除*/
  405 + function remove(id) {
  406 + $.modal.confirm("确定删除该条" + $.table._option.modalName + "信息吗?", function() {
  407 + var url = prefix+"/remove";
  408 + var data = { "id": id };
  409 + $.ajax({
  410 + url: url,
  411 + type:"post",
  412 + data:data,
  413 + success:function (result) {
  414 + if (result.code == web_status.SUCCESS) {
  415 + $.modal.msgSuccess(result.msg);
  416 + $.table.refresh();
  417 + } else {
  418 + $.modal.alertError(result.msg);
  419 + }
  420 + $.modal.closeLoading();
  421 + }
  422 + })
371 }); 423 });
372 } 424 }
373 425
@@ -402,24 +454,6 @@ @@ -402,24 +454,6 @@
402 // shadeClose: true, //点击遮罩关闭层 454 // shadeClose: true, //点击遮罩关闭层
403 }) 455 })
404 } 456 }
405 - function postInner(url,data) {  
406 - $.modal.loading("正在处理中,请稍后...");  
407 - $.ajax({  
408 - url:url,  
409 - type:"post",  
410 - data:data,  
411 - success:function (result) {  
412 - if (result.code == web_status.SUCCESS) {  
413 - $.modal.msgSuccess(result.msg);  
414 - update();  
415 - } else {  
416 - $.modal.alertError(result.msg);  
417 - }  
418 - $.modal.closeLoading();  
419 - }  
420 - })  
421 - }  
422 -  
423 457
424 </script> 458 </script>
425 </body> 459 </body>