Commit 0d86cf9fd0eea4f553b1866a5184f9ca52ebdc35

Authored by pengcheng
2 parents 43e91bc8 1b4e7ed6

Merge branch 'develop' of http://172.16.29.40:8010/wms/wms2 into develop

Showing 47 changed files with 292 additions and 153 deletions
src/main/java/com/huaheng/pc/check/checkDetail/controller/CheckDetailController.java
... ... @@ -130,15 +130,6 @@ public class CheckDetailController extends BaseController {
130 130 }
131 131  
132 132 /**
133   - * 完成质检
134   - */
135   - @GetMapping("complete/{id}")
136   - public String complete(@PathVariable("id") Integer id, ModelMap mmap) {
137   - mmap.put("checkDetailId", id);
138   - return prefix + "/checkComplete";
139   - }
140   -
141   - /**
142 133 * 保存质检完成
143 134 * @param inventorySts 库存状态
144 135 * @param qty 数量
... ... @@ -149,9 +140,7 @@ public class CheckDetailController extends BaseController {
149 140 @Log(title = "质检-质检详情 ",operating = "质检详情删除", action = BusinessType.DELETE)
150 141 @PostMapping("/complete")
151 142 @ResponseBody
152   - public AjaxResult complete(@ApiParam(name="质检明细id",value="id")Integer id,
153   - @ApiParam(name="库存状态",value="inventorySts",example="good,bad")String inventorySts,
154   - @ApiParam(name = "数量",value = "qty",example = "10,20") String qty) {
155   - return checkDetailService.complete(id, inventorySts, qty);
  143 + public AjaxResult complete(@ApiParam(name="质检明细id",value="id")Integer id) {
  144 + return checkDetailService.complete(id);
156 145 }
157 146 }
... ...
src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java
... ... @@ -26,77 +26,58 @@ import org.springframework.transaction.annotation.Transactional;
26 26 public class CheckDetailService extends ServiceImpl<CheckDetailMapper, CheckDetail> {
27 27  
28 28 @Resource
29   - private CheckingRegisterService checkingRegisterService;
30   - @Resource
31 29 private CheckHeaderService checkHeaderService;
  30 + @Resource
  31 + private CheckingRegisterService checkingRegisterService;
32 32  
33 33 /**
34 34 * 质检完成
35 35 * @param id 质检明细id
36   - * @param inventorySts 库存状态 good,
37   - * @param qty 数量 10,20
38 36 * @return AjaxResult
39 37 */
40 38 @Transactional
41   - public AjaxResult complete(Integer id, String inventorySts, String qty){
  39 + public AjaxResult complete(Integer id){
  40 + LambdaQueryWrapper<CheckingRegister> checkingRegisterLambda = Wrappers.lambdaQuery();
  41 + checkingRegisterLambda.eq(CheckingRegister::getCheckDetailId, id);
  42 + List<CheckingRegister> checkingRegisters = checkingRegisterService.list(checkingRegisterLambda);
  43 + int total = 0; //质检登记中的总数量
  44 + for (CheckingRegister checkingRegister: checkingRegisters){
  45 + total += checkingRegister.getQty();
  46 + }
42 47  
43   - //将库存状态、数量字符串转为List
44   - List<String> inventoryStsList = Arrays.asList(Convert.toStrArray(inventorySts));
45   - List<Integer> qtyList = Arrays.asList(Convert.toIntArray(qty));
  48 + //更新传入明细id为完成质检状态
46 49 CheckDetail checkDetail = this.getById(id);
47   -
48   - //
49   - int sum = 0;
50   - for (Integer quantity : qtyList) {
51   - sum += quantity;
52   - }
53   - if (checkDetail.getQty() == sum) {
54   - AjaxResult.error("质检登记数量和质检明细系统数量核对错误");
  50 + if ( !(total == checkDetail.getQty())){
  51 + return AjaxResult.error("质检登记中总数量不等于质检明细中数量,不能完成质检");
55 52 }
  53 + checkDetail.setCheckBy(ShiroUtils.getLoginName());
  54 + checkDetail.setCheckAt(new Date());
  55 +
56 56 checkDetail.setStatus("20");
57   - if ( !this.updateById(checkDetail)){
58   - throw new ServiceException("更新质检明细表错误");
  57 + checkDetail.setLastUpdated(new Date());
  58 + checkDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
  59 + if (!this.updateById(checkDetail)){
  60 + throw new ServiceException("更新质检明细表失败");
59 61 }
60   - CheckingRegister checkingRegister = new CheckingRegister();
61   - checkingRegister.setCheckDetailId(checkDetail.getId());
62   - checkingRegister.setCheckHeaderId(checkDetail.getCheckHeaderId());
63   - checkingRegister.setWarehouseCode(ShiroUtils.getWarehouseCode());
64   - checkingRegister.setCheckCode(checkDetail.getCheckCode());
65   - checkingRegister.setReceiptDetailId(checkDetail.getReceiptDetailId());
66   - checkingRegister.setReceiptCode(checkDetail.getReceiptCode());
67   - checkingRegister.setReferCode(checkDetail.getReferCode());
68   - checkingRegister.setReferLineId(checkDetail.getReferLineId());
69   - checkingRegister.setReferPlatform(checkDetail.getReferPlatform());
70   - checkingRegister.setMaterialCode(checkDetail.getMaterialCode());
71   - checkingRegister.setMaterialName(checkDetail.getMaterialName());
72   - checkingRegister.setMaterialSpec(checkDetail.getMaterialSpec());
73   - checkingRegister.setMaterialUnit(checkDetail.getMaterialUnit());
74   - checkingRegister.setCompanyCode(checkDetail.getCompanyCode());
75   - checkingRegister.setCheckBy(ShiroUtils.getLoginName());
76   - checkingRegister.setCheckAt(new Date());
77   - checkingRegister.setCreatedBy(ShiroUtils.getLoginName());
78   - checkingRegister.setLastUpdatedBy(ShiroUtils.getLoginName());
  62 + LambdaQueryWrapper<CheckDetail> lambda = Wrappers.lambdaQuery();
  63 + lambda.eq(CheckDetail::getCheckHeaderId, checkDetail.getCheckHeaderId());
  64 + List<CheckDetail> checkDetails = this.list(lambda);
79 65  
80   - for (int i = 0; i<inventoryStsList.size(); i++){
81   - checkingRegister.setInventorySts(inventoryStsList.get(i));
82   - checkingRegister.setQty(qtyList.get(0));
83   - if ( !checkingRegisterService.save(checkingRegister)){
84   - throw new ServiceException("生成质检报告失败");
  66 + //判断头表下所有明细是否全部完成
  67 + boolean result = false;
  68 + for (CheckDetail checkDetail1 : checkDetails){
  69 + if ("20".equals(checkDetail1.getStatus())){
  70 + result = true;
  71 + } else {
  72 + result = false;
85 73 }
86 74 }
87   -
88   - LambdaQueryWrapper<CheckDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
89   - lambdaQueryWrapper.eq(CheckDetail::getCheckHeaderId, checkDetail.getCheckHeaderId())
90   - .ne(CheckDetail::getStatus, 20);
91   - List<CheckDetail> checkDetails = this.list(lambdaQueryWrapper);
92   -
93   - //如果改质检单的全部明细都完成质检则更新质检头表状态
94   - if (checkDetails == null){
  75 + if (result){
95 76 CheckHeader checkHeader = new CheckHeader();
96 77 checkHeader.setId(checkDetail.getCheckHeaderId());
97   - checkHeader.setStatus("20");
98   - if (!checkHeaderService.updateById(checkHeader)){
99   - throw new ServiceException("更新质检头表发生错误");
  78 + checkHeader.setStatus("30");
  79 + if ( !checkHeaderService.updateById(checkHeader)){
  80 + throw new ServiceException("质检头表更新失败");
100 81 }
101 82 }
102 83 return AjaxResult.success("质检完成");
... ...
src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/controller/ReceiptContainerDetailController.java
... ... @@ -74,6 +74,7 @@ public class ReceiptContainerDetailController extends BaseController {
74 74 @RequiresPermissions("receipt:receiptContainerDetail:remove")
75 75 @Log(title = "入库-入库详情列表", operating = "入库详情列表", action = BusinessType.GRANT)
76 76 @PostMapping("remove")
  77 + @ResponseBody
77 78 public AjaxResult remove(String ids) {
78 79 if (StringUtils.isEmpty(ids)){
79 80 return AjaxResult.error("id不能为空");
... ...
src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/domain/ReceiptContainerDetail.java
... ... @@ -65,6 +65,13 @@ public class ReceiptContainerDetail implements Serializable {
65 65 private String receiptType;
66 66  
67 67 /**
  68 + * 库位编码
  69 + */
  70 + @TableField(value = "locationCode")
  71 + @ApiModelProperty(value="库位编码")
  72 + private String locationCode;
  73 +
  74 + /**
68 75 * 货箱号
69 76 */
70 77 @TableField(value = "containerCode")
... ...
src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java
... ... @@ -8,11 +8,14 @@ import com.huaheng.common.utils.security.ShiroUtils;
8 8 import com.huaheng.framework.web.domain.AjaxResult;
9 9 import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail;
10 10 import com.huaheng.pc.receipt.receiptContainerDetail.mapper.ReceiptContainerDetailMapper;
  11 +import com.huaheng.pc.receipt.receiptContainerHeader.domain.ReceiptContainerHeader;
  12 +import com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderService;
11 13 import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
12 14 import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService;
13 15 import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
14 16 import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
15 17 import org.springframework.stereotype.Service;
  18 +import org.springframework.web.bind.annotation.ResponseBody;
16 19  
17 20 import javax.annotation.Resource;
18 21 import java.util.List;
... ... @@ -24,6 +27,8 @@ public class ReceiptContainerDetailServiceImpl extends ServiceImpl&lt;ReceiptContai
24 27 private ReceiptDetailService receiptDetailService;
25 28 @Resource
26 29 private ReceiptHeaderService receiptHeaderService;
  30 + @Resource
  31 + private ReceiptContainerHeaderService receiptContainerHeaderService;
27 32 /**
28 33 * 根据入库单编码查询入库组盘明细
29 34 * @param receiptCode 入库单编码
... ... @@ -53,8 +58,18 @@ public class ReceiptContainerDetailServiceImpl extends ServiceImpl&lt;ReceiptContai
53 58 //回滚入库单明细收货数量
54 59 ReceiptDetail receiptDetail = receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId());
55 60 receiptDetail.setOpenQty(receiptDetail.getOpenQty() - receiptContainerDetail.getQty());
56   - if (!receiptDetailService.updateById(receiptDetail)){throw new SecurityException("回滚入库单明细失败");}
57 61  
  62 + if (!receiptDetailService.updateById(receiptDetail)){throw new SecurityException("回滚入库单明细失败");}
  63 + //删除组盘明细
  64 + if (!this.removeById(id)){ throw new ServiceException("回滚入库组盘失败");}
  65 + LambdaQueryWrapper<ReceiptContainerDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
  66 + lambdaQueryWrapper.eq(ReceiptContainerDetail::getReceiptContainerId, receiptContainerDetail.getReceiptContainerId());
  67 + List<ReceiptContainerDetail> list = this.list(lambdaQueryWrapper);
  68 + if (list.size() == 0){
  69 + if (!receiptContainerHeaderService.removeById(receiptContainerDetail.getReceiptContainerId())){
  70 + throw new ServiceException("删除入库组盘头失败");
  71 + }
  72 + }
58 73 //查询入库头表
59 74 LambdaQueryWrapper<ReceiptContainerDetail> containerDetailLambda = Wrappers.lambdaQuery();
60 75 containerDetailLambda.eq(ReceiptContainerDetail::getReceiptId, receiptContainerDetail.getReceiptId());
... ...
src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/controller/ReceiptContainerHeaderController.java
... ... @@ -158,6 +158,28 @@ public class ReceiptContainerHeaderController extends BaseController {
158 158 for (ReceiptContainerDetail receiptContainerDetail : receiptContainerDetails)
159 159 receivingService.position(receiptContainerDetail);
160 160 }
161   - return AjaxResult.success("");
  161 + return AjaxResult.success("定位成功");
  162 + }
  163 +
  164 + /**
  165 + * 取消定位
  166 + */
  167 + @RequiresPermissions("receipt:receiptContainer:canalPosition")
  168 + @Log(title = "入库-取消定位", operating = "取消定位", action = BusinessType.OTHER)
  169 + @PostMapping( "/cancelPosition")
  170 + @ResponseBody
  171 + public AjaxResult cancelPosition(String ids){
  172 + if (StringUtils.isEmpty(ids)){
  173 + return AjaxResult.error("id不能为空");
  174 + }
  175 + List<Integer> idList = Arrays.asList(Convert.toIntArray(ids));
  176 + for (int i = 0; i<idList.size(); i++){
  177 + LambdaQueryWrapper<ReceiptContainerDetail> lambda = Wrappers.lambdaQuery();
  178 + lambda.eq(ReceiptContainerDetail::getReceiptContainerId, idList.get(i));
  179 + List<ReceiptContainerDetail> receiptContainerDetails = receiptContainerDetailService.list(lambda);
  180 + for (ReceiptContainerDetail receiptContainerDetail : receiptContainerDetails)
  181 + receivingService.cancelPosition(receiptContainerDetail);
  182 + }
  183 + return AjaxResult.success("取消定位成功");
162 184 }
163 185 }
... ...
src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
... ... @@ -113,7 +113,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl&lt;ReceiptContai
113 113  
114 114 receiptDetail = receiptDetailService.getById(receiptDetailId);
115 115  
116   - receiptContainerDetailAdd(receiptContainerHeaders.get(0).getId(), receiptDetail, qty, containerCode);
  116 + receiptContainerDetailAdd(receiptContainerHeaders.get(0).getId(), receiptDetail, qty, containerCode, locationCode);
117 117 //如果单据数量等于已收数量,更新入库详情状态和入库单状态
118 118 if (receiptDetail.getTotalQty() == receiptDetail.getOpenQty()){
119 119 ReceiptDetail receiptDetail1 = receiptDetailService.queryflow(receiptDetail);
... ... @@ -285,7 +285,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl&lt;ReceiptContai
285 285 * @param containerCode 容器编码
286 286 */
287 287 @Transactional
288   - public void receiptContainerDetailAdd(Integer receiptContainerHeaderId, ReceiptDetail receiptDetail, Integer qty, String containerCode){
  288 + public void receiptContainerDetailAdd(Integer receiptContainerHeaderId, ReceiptDetail receiptDetail, Integer qty, String containerCode, String locationCode){
289 289 LambdaQueryWrapper<ReceiptContainerDetail> lambda = Wrappers.lambdaQuery();
290 290 lambda.eq(ReceiptContainerDetail::getReceiptContainerId, receiptContainerHeaderId)
291 291 .eq(ReceiptContainerDetail::getReceiptId, receiptDetail.getReceiptId())
... ... @@ -312,6 +312,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl&lt;ReceiptContai
312 312 receiptContainerDetail.setReceiptDetailId(receiptDetail.getId());
313 313 receiptContainerDetail.setReceiptCode(receiptDetail.getReceiptCode());
314 314 receiptContainerDetail.setReceiptType(receiptHeader.getReceiptType());
  315 + receiptContainerDetail.setLocationCode(locationCode);
315 316 receiptContainerDetail.setContainerCode(container.getCode());
316 317 receiptContainerDetail.setContainerType(container.getContainerType());
317 318 receiptContainerDetail.setCompanyCode(receiptDetail.getCompanyCode());
... ...
src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
... ... @@ -253,7 +253,7 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R
253 253 }
254 254 }
255 255  
256   - //从数据典中获取单据当前状态
  256 + //从数据典中获取单据当前状态
257 257 List<DictData> dictData = dictDataService.selectDictDataByType("receiptHeaderStatus");
258 258 for (int i = 0; i<dictData.size(); i++){
259 259 if (dictData.get(i).getDictValue().equals(minStatus)){
... ...
src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java
... ... @@ -281,7 +281,10 @@ public class ReceiptHeaderController extends BaseController {
281 281 @Log(title = "入库-入库单 ",operating = "查询入库单 ", action = BusinessType.OTHER)
282 282 @PostMapping("/getReceiptHeader")
283 283 @ResponseBody
284   - public AjaxResult<ReceiptHeader> getReceiptHeader(int id) {
  284 + public AjaxResult<ReceiptHeader> getReceiptHeader(String id) {
  285 + if (StringUtils.isEmpty(id)){
  286 + return AjaxResult.success("");
  287 + }
285 288 return AjaxResult.success(receiptHeaderService.getById(id));
286 289 }
287 290 }
... ...
src/main/java/com/huaheng/pc/receipt/receiving/controller/ReceivingController.java
... ... @@ -41,8 +41,6 @@ public class ReceivingController extends BaseController {
41 41 @Resource
42 42 private ReceiptContainerDetailService receiptContainerDetailService;
43 43 @Resource
44   - private TaskHeaderService taskHeaderService;
45   - @Resource
46 44 private ReceiptContainerHeaderService receiptContainerHeaderService;
47 45  
48 46 @RequiresPermissions("receipt:receiving:view")
... ...
src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java
... ... @@ -19,10 +19,12 @@ import com.huaheng.pc.config.materialType.domain.MaterialType;
19 19 import com.huaheng.pc.config.materialType.service.MaterialTypeService;
20 20 import com.huaheng.pc.config.receiptPreference.service.ReceiptPreferenceService;
21 21 import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail;
  22 +import com.huaheng.pc.receipt.receiptContainerDetail.service.ReceiptContainerDetailService;
22 23 import com.huaheng.pc.receipt.receiptContainerHeader.domain.ReceiptContainerHeader;
23 24 import com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderService;
24 25 import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
25 26 import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService;
  27 +import org.aspectj.weaver.loadtime.Aj;
26 28 import org.springframework.stereotype.Service;
27 29 import org.springframework.transaction.annotation.Transactional;
28 30  
... ... @@ -44,6 +46,8 @@ public class ReceivingService {
44 46 @Resource
45 47 private ReceiptContainerHeaderService receiptContainerHeaderService;
46 48 @Resource
  49 + private ReceiptContainerDetailService receiptContainerDetailService;
  50 + @Resource
47 51 private LocationService locationService;
48 52 @Resource
49 53 private MaterialService materialService;
... ... @@ -79,9 +83,11 @@ public class ReceivingService {
79 83 @Transactional
80 84 public Boolean position(ReceiptContainerDetail receiptContainerDetail){
81 85 ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getById(receiptContainerDetail.getReceiptContainerId());
82   -
  86 + if (!(0 ==receiptContainerHeader.getStatus())){
  87 + throw new ServiceException("该入库组盘已生成任务不能重新定位");
  88 + }
83 89 //如果入库组盘表中有目标库位说明已经指定
84   - if (StringUtils.isNotEmpty(receiptContainerHeader.getToLocation())){return true;}
  90 + if (StringUtils.isNotEmpty(receiptContainerHeader.getToLocation())){throw new ServiceException("该入库组盘已有库位,不需要定位;如需定位请先取消定位");}
85 91 String locatingRule = receiptContainerHeader.getLocatingRule(); //定位规则
86 92 if (StringUtils.isNotEmpty(locatingRule)){
87 93 //入库组盘头表中定位规则不为空时执行
... ... @@ -132,12 +138,21 @@ public class ReceivingService {
132 138 throw new ServiceException("定位失败,请检查定位规则是否正确");
133 139 }
134 140  
  141 + //更新库位编码到组盘头表
135 142 receiptContainerHeader.setToLocation(locationCode);
136   -
137 143 if (!receiptContainerHeaderService.updateById(receiptContainerHeader)){
138 144 throw new ServiceException("更新库位失败");
139 145 }
140 146  
  147 + //把库位编码赋到该入库组盘头表下的所有明细
  148 + LambdaQueryWrapper<ReceiptContainerDetail> lambda = Wrappers.lambdaQuery();
  149 + lambda.eq(ReceiptContainerDetail::getReceiptContainerId, receiptContainerHeader.getId());
  150 + List<ReceiptContainerDetail> receiptContainerDetails = receiptContainerDetailService.list(lambda);
  151 + for (ReceiptContainerDetail receiptContainerDetail2: receiptContainerDetails) {
  152 + receiptContainerDetail2.setLocationCode(locationCode);
  153 + if (!receiptContainerDetailService.updateById(receiptContainerDetail2)){throw new ServiceException("更新库位编码到入库组盘明细");}
  154 + }
  155 +
141 156 ReceiptDetail receiptDetail = receiptDetailService.queryflow(receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId()));
142 157 //更新入库单详情状态
143 158 if (!receiptDetailService.updateById(receiptDetail)){ throw new ServiceException("更新入库单详情失败");}
... ... @@ -146,4 +161,44 @@ public class ReceivingService {
146 161  
147 162 return true;
148 163 }
  164 +
  165 + /**
  166 + * 取消定位
  167 + * @param receiptContainerDetail 入库组盘明细
  168 + * @return
  169 + */
  170 + @Transactional
  171 + public AjaxResult cancelPosition(ReceiptContainerDetail receiptContainerDetail){
  172 + //查询入库组盘头
  173 + ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getById(receiptContainerDetail.getReceiptContainerId());
  174 + if (!(receiptContainerHeader.getStatus() == 0)){
  175 + throw new ServiceException("组盘已生成任务不能取消定位");
  176 + }
  177 + //将入库组盘头表中的而库位编码赋值null
  178 + receiptContainerHeader.setToLocation(null);
  179 + if (!receiptContainerHeaderService.updateById(receiptContainerHeader)){
  180 + throw new ServiceException("回滚入库组盘头失败");
  181 + }
  182 +
  183 + LambdaQueryWrapper<ReceiptContainerDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
  184 + lambdaQueryWrapper.eq(ReceiptContainerDetail::getReceiptContainerId, receiptContainerDetail.getReceiptContainerId());
  185 + List<ReceiptContainerDetail> receiptContainerDetailList = receiptContainerDetailService.list(lambdaQueryWrapper);
  186 + for (ReceiptContainerDetail receiptContainerDetail2 : receiptContainerDetailList) {
  187 + receiptContainerDetail2.setLocationCode(null);
  188 + if (!receiptContainerDetailService.updateById(receiptContainerDetail2)){
  189 + throw new ServiceException("回滚入库组盘明细失败");
  190 + }
  191 + }
  192 +
  193 + //回滚入库明细状态
  194 + ReceiptDetail receiptDetail = receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId());
  195 + receiptDetail.setProcessStamp("240");
  196 + if ( !receiptDetailService.updateById(receiptDetail)){
  197 + throw new ServiceException("回滚入库明细状态失败");
  198 + }
  199 +
  200 + receiptDetailService.updateReceiptHeaderLastStatus(receiptDetail.getReceiptId());
  201 +
  202 + return AjaxResult.success("取消定位成功");
  203 + }
149 204 }
... ...
src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
... ... @@ -502,6 +502,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
502 502 detail.setMaterialCode(DataUtils.getString(map.get("materialCode")));//物料号
503 503 detail.setMaterialName(DataUtils.getString(map.get("materialName")));//物料名称
504 504 detail.setMaterialSpec(DataUtils.getString(map.get("materialSpec")));//物料规格
  505 + detail.setMaterialUnit(DataUtils.getString(map.get("materialUnit")));//物料单位
505 506 detail.setReceiptCode(DataUtils.getString(map.get("receiptCode")));//入库单编码
506 507 detail.setReceiptDetailId(DataUtils.getInteger(map.get("receiptDetailId")));//入库单明细ID
507 508 detail.setBatch(DataUtils.getString(map.get("batch")));//批次
... ... @@ -534,6 +535,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
534 535 inventoryTransaction.setContainerCode(DataUtils.getString(map.get("containerCode")));
535 536 inventoryTransaction.setMaterialCode(DataUtils.getString(map.get("materialCode")));
536 537 inventoryTransaction.setMaterialName(DataUtils.getString(map.get("materialName")));
  538 + inventoryTransaction.setMaterialSpec(DataUtils.getString(map.get("materialSpec")));//物料规格
  539 + inventoryTransaction.setMaterialUnit(DataUtils.getString(map.get("materialUnit")));//物料单位
537 540 inventoryTransaction.setBillCode(DataUtils.getString(map.get("receiptCode")));
538 541 inventoryTransaction.setBillDetailId(DataUtils.getInteger(map.get("receiptDetailId")));
539 542 inventoryTransaction.setBatch(DataUtils.getString(map.get("batch")));
... ... @@ -541,7 +544,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
541 544 // inventoryTransaction.setManufactureDate(new SimpleDateFormat("yyyy-MM-dd").parse(map.get("manufactureDate").toString()));//生产日期
542 545 // inventoryTransaction.setExpirationDate(DataUtils.getDateTime(map.get("expirationDate")));
543 546 inventoryTransaction.setInventorySts(DataUtils.getString((map.get("inventorySts"))));
544   - inventoryTransaction.setTaskQty(DataUtils.getInteger(map.get("qty")));
  547 + inventoryTransaction.setTaskQty(0);
545 548 inventoryTransaction.setCreated(new Date());
546 549 inventoryTransaction.setCreatedBy(ShiroUtils.getLoginName());
547 550 if (!inventoryTransactionService.save(inventoryTransaction))
... ... @@ -1293,8 +1296,6 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1293 1296 shipmentContainerHeaderLambdaUpdateWrapper.eq(ShipmentContainerHeader::getId,task.getAllocationHeadId());
1294 1297 if (! shipmentContainerHeaderService.update(shipmentContainerHeader, shipmentContainerHeaderLambdaUpdateWrapper))
1295 1298 throw new ServiceException("更新组盘头状态失败");
1296   -
1297   -
1298 1299 //修改出库单状态
1299 1300 LambdaQueryWrapper<TaskDetail> taskDetailLambdaQueryWrapper = Wrappers.lambdaQuery();
1300 1301 taskDetailLambdaQueryWrapper.eq(TaskDetail::getTaskId,task.getId());
... ...
src/main/resources/mybatis/receipt/ReceiptContainerDetailMapper.xml
... ... @@ -8,6 +8,7 @@
8 8 <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" />
9 9 <result column="receiptId" jdbcType="INTEGER" property="receiptId" />
10 10 <result column="receiptDetailId" jdbcType="INTEGER" property="receiptDetailId" />
  11 + <result column="locationCode" jdbcType="VARCHAR" property="locationCode" />
11 12 <result column="receiptCode" jdbcType="VARCHAR" property="receiptCode" />
12 13 <result column="receiptType" jdbcType="VARCHAR" property="receiptType" />
13 14 <result column="containerCode" jdbcType="VARCHAR" property="containerCode" />
... ... @@ -53,7 +54,7 @@
53 54 </resultMap>
54 55 <sql id="Base_Column_List">
55 56 <!--@mbg.generated-->
56   - id, receiptContainerId, warehouseCode, receiptId, receiptDetailId, receiptCode, receiptType,
  57 + id, receiptContainerId, warehouseCode, receiptId, receiptDetailId,locationCode , receiptCode, receiptType,
57 58 containerCode, containerType, companyCode, materialCode, materialName, materialSpec,
58 59 materialUnit, qty, `status`, attributeId, attribute1, attribute2, attribute3, attribute4,
59 60 supplierCode, batch, lot, projectNo, weight, manufactureDate, expirationDate, agingDate,
... ...
src/main/resources/static/huaheng/js/common.js
... ... @@ -21,8 +21,10 @@ $(function(){
21 21 if ($(".time").length > 0) {
22 22 layui.use('laydate', function() {
23 23 var laydate = layui.laydate;
24   - laydate.render({ elem: '#startTime', theme: 'molv' });
25   - laydate.render({ elem: '#endTime', theme: 'molv' });
  24 + var day1 = new Date();
  25 + day1.setTime(day1.getTime()-24*60*60*1000*7);
  26 + laydate.render({ elem: '#startTime', theme: 'molv',value: new Date(day1), isInitValue: true});
  27 + laydate.render({ elem: '#endTime', theme: 'molv',value: new Date(), isInitValue: true });
26 28 });
27 29 }
28 30 });
... ...
src/main/resources/templates/check/checkHeader/checkHeader.html
... ... @@ -32,9 +32,9 @@
32 32 </li>
33 33 <li class="time">
34 34 <label>创建时间: </label>
35   - <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
  35 + <input type="text" class="time-input" id="startCreatedTime" placeholder="开始时间" name="params[createdBegin]"/>
36 36 <span>-</span>
37   - <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
  37 + <input type="text" class="time-input" id="endCreatedTime" placeholder="结束时间" name="params[createdEnd]"/>
38 38 </li>
39 39 <li>
40 40 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
... ... @@ -103,8 +103,8 @@
103 103 </div>
104 104  
105 105 <div class="btn-group hidden-xs" id="toolbarReg" role="group">
106   - <a class="btn btn-outline btn-danger btn-rounded" onclick="complete()" shiro:hasPermission="check:checkingRegister:remove">
107   - <i class="fa fa-trash-o"></i> 质检完成
  106 + <a class="btn btn-outline btn-success btn-rounded" onclick="complete()" shiro:hasPermission="check:checkingRegister:remove">
  107 + <i class="fa fa-check-circle-o"></i> 质检完成
108 108 </a>
109 109 <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="check:checkingRegister:remove">
110 110 <i class="fa fa-trash-o"></i> 删除
... ... @@ -259,7 +259,6 @@
259 259  
260 260 //质检明细表格初始化
261 261 $("#bootstrap-table1").bootstrapTable({
262   - url: prefix + "/list",
263 262 createUrl: prefix1 + "/add",
264 263 updateUrl: prefix1 + "/edit/{id}",
265 264 removeUrl: prefix1 + "/remove",
... ... @@ -269,7 +268,6 @@
269 268 sortOrder: "desc",
270 269 iconSize: "outline",
271 270 toolbar: "#toolbar1",
272   - contentType: "application/x-www-form-urlencoded",
273 271 pagination: true, // 是否显示分页(*)
274 272 pageNumber: 1, // 初始化加载第一页,默认第一页
275 273 pageSize: 50, // 每页的记录行数(*)
... ... @@ -282,11 +280,13 @@
282 280 },
283 281 {
284 282 field : 'id',
285   - title : 'id'
  283 + title : 'id',
  284 + visible: false
286 285 },
287 286 {
288 287 field : 'checkHeaderId',
289   - title : '质检头id'
  288 + title : '质检头id',
  289 + visible : false
290 290 },
291 291 {
292 292 field : 'warehouseCode',
... ... @@ -299,7 +299,8 @@
299 299 },
300 300 {
301 301 field : 'inventoryDetailId',
302   - title : '库存明细标识'
  302 + title : '库存明细标识',
  303 + visible : false
303 304 },
304 305 {
305 306 field : 'locationCode',
... ... @@ -311,7 +312,8 @@
311 312 },
312 313 {
313 314 field : 'receiptDetailId',
314   - title : '入库单明细标识'
  315 + title : '入库单明细标识',
  316 + visible : false
315 317 },
316 318 {
317 319 field : 'receiptCode',
... ... @@ -402,7 +404,6 @@
402 404 });
403 405 //质检登记表格初始化
404 406 $("#bootstrap-table2").bootstrapTable({
405   - contentType: "application/x-www-form-urlencoded",
406 407 editable: true,
407 408 clickEdit: true,
408 409 clickToSelect: true,
... ... @@ -586,6 +587,7 @@
586 587 });
587 588 }
588 589 });
  590 +
589 591 /* 质检单列表-详细 */
590 592 function detail(id, code) {
591 593 checkId = id;
... ... @@ -647,8 +649,23 @@
647 649  
648 650 function complete() {
649 651 var url = prefix1+"/complete";
  652 + var data = {id: checkDetailId};
650 653 $.operate.submit(url, "post", "json", data);
651 654 }
  655 +
  656 + layui.use('laydate', function(){
  657 + var laydate = layui.laydate;
  658 + var day1 = new Date();
  659 + day1.setTime(day1.getTime()-24*60*60*1000*7);
  660 + //执行一个laydate实例
  661 + laydate.render({
  662 + elem: '#startCreatedTime' //指定元素
  663 + ,theme: 'molv',value: new Date(day1), isInitValue: true
  664 + });
  665 + laydate.render({
  666 + elem: '#endCreatedTime', theme: 'molv',value: new Date(), isInitValue: true
  667 + })
  668 + });
652 669 </script>
653 670 </body>
654 671 </html>
655 672 \ No newline at end of file
... ...
src/main/resources/templates/config/alarmLevel/alarmLevel.html
... ... @@ -17,6 +17,7 @@
17 17 </li>
18 18 <li>
19 19 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  20 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('alarmLevel-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
20 21 </li>
21 22 </ul>
22 23 </div>
... ...
src/main/resources/templates/config/bomHeader/bomHeader.html
... ... @@ -34,6 +34,7 @@
34 34 <li>
35 35 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
36 36 class="fa fa-search"></i>&nbsp;搜索</a>
  37 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('alarmFlow-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
37 38 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
38 39 </li>
39 40 </ul>
... ...
src/main/resources/templates/config/carrier/carrier.html
... ... @@ -23,6 +23,7 @@
23 23 </li>
24 24 <li>
25 25 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  26 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('company-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
26 27 </li>
27 28 </ul>
28 29 </div>
... ...
src/main/resources/templates/config/company/company.html
... ... @@ -23,6 +23,7 @@
23 23 </li>
24 24 <li>
25 25 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  26 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('company-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
26 27 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:company:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
27 28 </li>
28 29 </ul>
... ...
src/main/resources/templates/config/configValue/configValue.html
... ... @@ -23,6 +23,7 @@
23 23 </li>
24 24 <li>
25 25 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  26 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('company-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
26 27 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:company:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
27 28 </li>
28 29 </ul>
... ...
src/main/resources/templates/config/container/container.html
... ... @@ -35,6 +35,7 @@
35 35 </li>
36 36 <li>
37 37 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  38 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('container-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
38 39 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:container:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
39 40 </li>
40 41 </ul>
... ...
src/main/resources/templates/config/containerCapacity/containerCapacity.html
... ... @@ -32,6 +32,7 @@
32 32 </li>
33 33 <li>
34 34 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  35 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('containerCapacity-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
35 36 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
36 37 </li>
37 38 </ul>
... ...
src/main/resources/templates/config/containerType/containerType.html
... ... @@ -29,6 +29,7 @@
29 29 </li>
30 30 <li>
31 31 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  32 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('containerType-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
32 33 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
33 34 </li>
34 35 </ul>
... ...
src/main/resources/templates/config/customer/customer.html
... ... @@ -6,7 +6,7 @@
6 6 <div class="container-div">
7 7 <div class="row">
8 8 <div class="col-sm-12 select-info">
9   - <form id="material-form">
  9 + <form id="customer-form">
10 10 <div class="select-list">
11 11 <ul>
12 12 <li>
... ... @@ -23,6 +23,7 @@
23 23 </li>
24 24 <li>
25 25 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  26 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('customer-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
26 27 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:customer:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
27 28 </li>
28 29 </ul>
... ...
src/main/resources/templates/config/cycleCountPreference/cycleCountPreference.html
... ... @@ -35,6 +35,7 @@
35 35 </li>
36 36 <li>
37 37 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  38 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('cycleCountPreference-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
38 39 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
39 40 </li>
40 41 </ul>
... ...
src/main/resources/templates/config/excelTemplate/excelTemplate.html
... ... @@ -6,7 +6,7 @@
6 6 <div class="container-div">
7 7 <div class="row">
8 8 <div class="col-sm-12 select-info">
9   - <form id="locationType-form">
  9 + <form id="execlTemplate-form">
10 10 <div class="select-list">
11 11 <ul>
12 12 <li>
... ... @@ -20,6 +20,7 @@
20 20 </li>
21 21 <li>
22 22 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  23 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('execlTemplate-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
23 24 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
24 25 </li>
25 26 </ul>
... ...
src/main/resources/templates/config/filterConfigHeader/filterConfigHeader.html
... ... @@ -37,6 +37,7 @@
37 37 <li>
38 38 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
39 39 class="fa fa-search"></i>&nbsp;搜索</a>
  40 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('filterConfigHeader-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
40 41 </li>
41 42 </ul>
42 43 </div>
... ...
src/main/resources/templates/config/location/location.html
... ... @@ -56,6 +56,7 @@
56 56 </li>
57 57 <li>
58 58 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  59 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('location-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
59 60 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:location:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
60 61 </li>
61 62 </ul>
... ...
src/main/resources/templates/config/locationType/locationType.html
... ... @@ -29,6 +29,7 @@
29 29 </li>
30 30 <li>
31 31 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  32 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('alarmLevel-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
32 33 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
33 34 </li>
34 35 </ul>
... ...
src/main/resources/templates/config/material/material.html
... ... @@ -35,6 +35,7 @@
35 35 </li>
36 36 <li>
37 37 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  38 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('material-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
38 39 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:material:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
39 40 </li>
40 41 </ul>
... ...
src/main/resources/templates/config/materialMultiple/materialMultiple.html
... ... @@ -5,7 +5,7 @@
5 5 <div class="container-div">
6 6 <div class="row">
7 7 <div class="col-sm-12 select-info">
8   - <form id="locationType-form">
  8 + <form id="materialMultiple-form">
9 9 <div class="select-list">
10 10 <ul>
11 11 <li>
... ... @@ -22,6 +22,7 @@
22 22 </li>
23 23 <li>
24 24 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  25 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('materialMultiple-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
25 26 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
26 27 </li>
27 28 </ul>
... ...
src/main/resources/templates/config/materialType/materialType.html
... ... @@ -6,7 +6,7 @@
6 6 <div class="container-div">
7 7 <div class="row">
8 8 <div class="col-sm-12 select-info">
9   - <form id="locationType-form">
  9 + <form id="materialType-form">
10 10 <div class="select-list">
11 11 <ul>
12 12 <li>
... ... @@ -23,6 +23,7 @@
23 23 </li>
24 24 <li>
25 25 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  26 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('materialType-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
26 27 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
27 28 </li>
28 29 </ul>
... ...
src/main/resources/templates/config/materialUnit/materialUnit.html
... ... @@ -6,7 +6,7 @@
6 6 <div class="container-div">
7 7 <div class="row">
8 8 <div class="col-sm-12 select-info">
9   - <form id="locationType-form">
  9 + <form id="materialUnit-form">
10 10 <div class="select-list">
11 11 <ul>
12 12 <li>
... ... @@ -27,6 +27,7 @@
27 27 </li>
28 28 <li>
29 29 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  30 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('materialUnit-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
30 31 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
31 32 </li>
32 33 </ul>
... ...
src/main/resources/templates/config/receiptPreference/receiptPreference.html
... ... @@ -6,7 +6,7 @@
6 6 <div class="container-div">
7 7 <div class="row">
8 8 <div class="col-sm-12 select-info">
9   - <form id="locationType-form">
  9 + <form id="receiptPreference-form">
10 10 <div class="select-list">
11 11 <ul>
12 12 <li>
... ... @@ -29,6 +29,7 @@
29 29 </li>
30 30 <li>
31 31 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  32 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('receiptPreference-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
32 33 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
33 34 </li>
34 35 </ul>
... ...
src/main/resources/templates/config/receiptType/receiptType.html
... ... @@ -6,7 +6,7 @@
6 6 <div class="container-div">
7 7 <div class="row">
8 8 <div class="col-sm-12 select-info">
9   - <form id="locationType-form">
  9 + <form id="receiptType-form">
10 10 <div class="select-list">
11 11 <ul>
12 12 <li>
... ... @@ -20,6 +20,7 @@
20 20 </li>
21 21 <li>
22 22 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  23 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('receiptType-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
23 24 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
24 25 </li>
25 26 </ul>
... ...
src/main/resources/templates/config/shipmentPreference/shipmentPreference.html
... ... @@ -26,6 +26,7 @@
26 26 </li>
27 27 <li>
28 28 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  29 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('shipmentPreference-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
29 30 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
30 31 </li>
31 32 </ul>
... ...
src/main/resources/templates/config/shipmentType/shipmentType.html
... ... @@ -23,6 +23,7 @@
23 23 </li>
24 24 <li>
25 25 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  26 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('shipmentType-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
26 27 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
27 28 </li>
28 29 </ul>
... ...
src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html
... ... @@ -40,6 +40,7 @@
40 40 <li>
41 41 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
42 42 class="fa fa-search"></i>&nbsp;搜索</a>
  43 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('statusFlowHeader-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
43 44 </li>
44 45 </ul>
45 46 </div>
... ...
src/main/resources/templates/config/supplier/supplier.html
... ... @@ -23,6 +23,7 @@
23 23 </li>
24 24 <li>
25 25 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  26 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('supplier-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
26 27 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:supplier:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
27 28 </li>
28 29 </ul>
... ...
src/main/resources/templates/config/warehouse/warehouse.html
... ... @@ -6,7 +6,7 @@
6 6 <div class="container-div">
7 7 <div class="row">
8 8 <div class="col-sm-12 select-info">
9   - <form id="company-form">
  9 + <form id="warehouse-form">
10 10 <div class="select-list">
11 11 <ul>
12 12 <li>
... ... @@ -29,6 +29,7 @@
29 29 </li>
30 30 <li>
31 31 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  32 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('warehouse-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
32 33 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:company:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
33 34 </li>
34 35 </ul>
... ...
src/main/resources/templates/config/waveFlowHeader/waveFlowHeader.html
... ... @@ -31,6 +31,7 @@
31 31 <li>
32 32 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
33 33 class="fa fa-search"></i>&nbsp;搜索</a>
  34 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('waveFlowHeader')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
34 35 </li>
35 36 </ul>
36 37 </div>
... ...
src/main/resources/templates/config/waveMaster/waveMaster.html
... ... @@ -26,6 +26,7 @@
26 26 </li>
27 27 <li>
28 28 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  29 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('waveMaster-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
29 30 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
30 31 </li>
31 32 </ul>
... ...
src/main/resources/templates/config/zone/zone.html
... ... @@ -29,6 +29,7 @@
29 29 </li>
30 30 <li>
31 31 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  32 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('zone-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
32 33 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
33 34 </li>
34 35 </ul>
... ...
src/main/resources/templates/config/zoneCapacity/zoneCapacity.html
... ... @@ -30,6 +30,7 @@
30 30 </li>
31 31 <li>
32 32 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  33 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('zoneCapacity-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
33 34 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:zoneCapacity:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
34 35 </li>
35 36 </ul>
... ...
src/main/resources/templates/include.html
... ... @@ -20,7 +20,7 @@
20 20 <div th:fragment="footer">
21 21 <script th:src="@{/js/jquery.min.js}"></script>
22 22 <script th:src="@{/js/bootstrap.min.js}"></script>
23   -
  23 + <script th:src="@{/huaheng/js/common.js?v=2.3.0}"></script>
24 24 <!-- bootstrap-table 表格插件 -->
25 25 <script th:src="@{/ajax/libs/bootstrap-table/bootstrap-table.min.js}"></script>
26 26 <script th:src="@{/ajax/libs/bootstrap3-editable/js/bootstrap-editable.js}"></script>
... ... @@ -42,7 +42,6 @@
42 42 <script th:src="@{/ajax/libs/layer/layer.min.js}"></script>
43 43 <script th:src="@{/ajax/libs/layui/layui.js}"></script>
44 44 <script th:src="@{/ajax/libs/layui/lay/modules/upload.js}"></script>
45   - <script th:src="@{/huaheng/js/common.js?v=2.3.0}"></script>
46 45 <script th:src="@{/huaheng/js/huahengUI.js?v=2.3.2}"></script>
47 46 <script th:inline="javascript"> var ctx = [[@{/}]]; </script>
48 47 </div>
... ...
src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
... ... @@ -195,7 +195,6 @@
195 195 {
196 196 field : 'code',
197 197 title : '入库单号',
198   - visible:false
199 198 },
200 199 {
201 200 field : 'companyCode',
... ... @@ -214,8 +213,8 @@
214 213 formatter: function(value, row, index) {
215 214 var actions = [];
216 215 $.each(receiptTypes, function(index, dict) {
217   - if (dict.code == value) {
218   - actions.push("<span class='badge badge-info'>" + dict.name + "</span>");
  216 + if (dict.dictValue == value) {
  217 + actions.push("<span class='badge badge-info'>" + dict.dictLabel + "</span>");
219 218 return false;
220 219 }
221 220 });
... ...
src/main/resources/templates/receipt/receiving/receiving.html
... ... @@ -47,10 +47,22 @@
47 47 </div>
48 48 </form>
49 49 </div>
  50 +
50 51 <div class="col-sm-12 select-info table-striped-left" style="padding-top: 20px;">
51 52 <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
52 53 </div>
53 54 <div class="col-sm-12 select-info table-striped-right">
  55 + <div class="btn-group hidden-xs" id="toolbar1" role="group">
  56 + <a class="btn btn-outline btn-success btn-rounded" onclick="positioning()" shiro:hasPermission="receipt:receiptDetail:add">
  57 + <i class="fa fa-map-pin"></i> 定位
  58 + </a>
  59 + <a class="btn btn-outline btn-info btn-rounded" onclick="cancelPositioning()" shiro:hasPermission="receipt:receiptDetail:remove">
  60 + <i class="fa fa-times"></i> 取消定位
  61 + </a>
  62 + <a class="btn btn-outline btn-danger btn-rounded" onclick="batRemove()" shiro:hasPermission="receipt:receiptDetail:remove">
  63 + <i class="fa fa-trash-o"></i> 取消收货
  64 + </a>
  65 + </div>
54 66 <table id="bootstrap-table1" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
55 67 </div>
56 68 </div>
... ... @@ -255,19 +267,20 @@
255 267 clickToSelect: true,
256 268 showColumns:true, //列选择
257 269 // detailView:true,
  270 + toolbar: "#toolbar1",
258 271 showExport: true, //导出
259 272 exportDataType: "all", //导出类型basic', 'all', 'selected'.当前页、所有数据、选中数据
260 273 modalName: "入库组盘",
261 274 iconSize: "outline",
262   - toolbar: "#toolbar",
  275 + toolbar: "#toolbar1",
263 276 contentType: "application/x-www-form-urlencoded",
264 277 onRefresh: function(){
265 278 list_receiptInfo($("#code").val());
266 279 },
267 280 columns: [
268   - // {
269   - // checkbox: true
270   - // },
  281 + {
  282 + checkbox: true
  283 + },
271 284 {
272 285 field : 'id',
273 286 title : '组盘明细id',
... ... @@ -371,52 +384,58 @@
371 384 function remove(id) {
372 385 $.modal.confirm("确定删除该组盘?", function() {
373 386 var url = ctx + "receipt/receiptContainerDetail/remove";
374   - var data = { "id": id };
  387 + var data = { "ids": id };
375 388 $.operate.submitAndCallback(url, "post", "json", data, initTable);
376 389 });
377 390 }
378 391  
379   - // var url = location.search; //获取url中"?"符后的字串
380   - // var theRequest = new Object();
381   - // if ( url.indexOf( "?" ) != -1 ) {
382   - // var str = url.substr( 1 ); //substr()方法返回从参数值开始到结束的字符串;
383   - // var strs = str.split( "&" );
384   - // for ( var i = 0; i < strs.length; i++ ) {
385   - // theRequest[ strs[ i ].split( "=" )[ 0 ] ] = ( strs[ i ].split( "=" )[ 1 ] );
386   - // }}
387   - // // console.log(theRequest.code);
388   - // $("#code").val(theRequest.code);
389   - // list_select(theRequest.code);
390   - // function open(title, url, width, height){
391   - // if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {
392   - // width = 'auto';
393   - // height = 'auto';
394   - // }
395   - // if (title==null){
396   - // title = false;
397   - // }
398   - // if (url==null){
399   - // url="404.html";
400   - // }
401   - // if ($.common.isEmpty(width)) {
402   - // width = 800;
403   - // // width = ($(window).width() - 100);
404   - // }
405   - // if ($.common.isEmpty(height)) {
406   - // height = ($(window).height() - 50);
407   - // }
408   - // layer.open({
409   - // type: 2,
410   - // area: [width + 'px', height + 'px'],
411   - // fix: false,
412   - // //不固定
413   - // maxmin: true,
414   - // shade: 0.3,
415   - // title: title,
416   - // content: url
417   - // // shadeClose: true, //点击遮罩关闭层
418   - // })
419   - // }
  392 + function positioning() {
  393 + let rows = $("#bootstrap-table1").bootstrapTable('getSelections');
  394 + if (rows.length == 0) {
  395 + $.modal.alertWarning("请至少选择一条记录");
  396 + return;
  397 + }
  398 + var url = ctx+"receipt/receiptContainerHeader/position";
  399 + var ids = "";
  400 + for (var i = 0; i<rows.length; i++){
  401 + ids += rows[i].receiptContainerId;
  402 + ids += ",";
  403 + }
  404 + var data = { "ids": ids };
  405 + $.operate.submit(url, "post", "json", data);
  406 + }
  407 +
  408 + function cancelPositioning() {
  409 + let rows = $("#bootstrap-table1").bootstrapTable('getSelections');
  410 + if (rows.length == 0) {
  411 + $.modal.alertWarning("请至少选择一条记录");
  412 + return;
  413 + }
  414 + var url = ctx+"receipt/receiptContainerHeader/cancelPosition";
  415 + var ids = "";
  416 + for (var i = 0; i<rows.length; i++){
  417 + ids += rows[i].receiptContainerId;
  418 + ids += ",";
  419 + }
  420 + var data = { "ids": ids };
  421 + $.operate.submit(url, "post", "json", data);
  422 + }
  423 +
  424 + function batRemove() {
  425 + let rows = $("#bootstrap-table1").bootstrapTable('getSelections');
  426 + if (rows.length == 0) {
  427 + $.modal.alertWarning("请至少选择一条记录");
  428 + return;
  429 + }
  430 + var url = ctx+"receipt/receiptContainerDetail/remove";
  431 + var ids = "";
  432 + for (var i = 0; i<rows.length; i++){
  433 + ids += rows[i].receiptContainerId;
  434 + ids += ",";
  435 + }
  436 + var data = { "ids": ids };
  437 + $.operate.submit(url, "post", "json", data);
  438 + }
420 439 </script>
421 440 </body>
422 441 </html>
423 442 \ No newline at end of file
... ...