Commit 4d82933e329bc12358609a014c54fae97a4d17ca

Authored by pengcheng
2 parents 0acb3f07 4a4a19cc

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

src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java
@@ -78,12 +78,12 @@ public class CycleCountDetailController extends BaseController { @@ -78,12 +78,12 @@ public class CycleCountDetailController extends BaseController {
78 Integer pageNum = pageDomain.getPageNum(); 78 Integer pageNum = pageDomain.getPageNum();
79 Integer pageSize = pageDomain.getPageSize(); 79 Integer pageSize = pageDomain.getPageSize();
80 //没有主单ID传入则直接返回空list 80 //没有主单ID传入则直接返回空list
81 - if(cycleCountDetail.getCycleCountHeadId() != null){ 81 + if(cycleCountDetail.getCycleCountHeadCode() != null){
82 lambdaQueryWrapper.ge( 82 lambdaQueryWrapper.ge(
83 StringUtils.isNotEmpty(createdBegin), CycleCountDetail::getCreated, createdBegin) 83 StringUtils.isNotEmpty(createdBegin), CycleCountDetail::getCreated, createdBegin)
84 .le(StringUtils.isNotEmpty(createdEnd), CycleCountDetail::getCreated, createdEnd)//创建时间范围 84 .le(StringUtils.isNotEmpty(createdEnd), CycleCountDetail::getCreated, createdEnd)//创建时间范围
85 .eq(CycleCountDetail::getWarehouseCode, ShiroUtils.getWarehouseCode()) //仓库 85 .eq(CycleCountDetail::getWarehouseCode, ShiroUtils.getWarehouseCode()) //仓库
86 - .eq(cycleCountDetail.getCycleCountHeadId() != null ,CycleCountDetail::getCycleCountHeadId,cycleCountDetail.getCycleCountHeadId())//盘点主单 86 + .eq(cycleCountDetail.getCycleCountHeadCode() != null ,CycleCountDetail::getCycleCountHeadCode,cycleCountDetail.getCycleCountHeadCode())//盘点主单
87 .eq(StringUtils.isNotEmpty(cycleCountDetail.getCompanyCode()),CycleCountDetail::getCompanyCode, cycleCountDetail.getCompanyCode())//货主 87 .eq(StringUtils.isNotEmpty(cycleCountDetail.getCompanyCode()),CycleCountDetail::getCompanyCode, cycleCountDetail.getCompanyCode())//货主
88 .eq(StringUtils.isNotEmpty(cycleCountDetail.getLocationCode()), CycleCountDetail::getLocationCode, cycleCountDetail.getLocationCode()) //库位 88 .eq(StringUtils.isNotEmpty(cycleCountDetail.getLocationCode()), CycleCountDetail::getLocationCode, cycleCountDetail.getLocationCode()) //库位
89 .eq(StringUtils.isNotEmpty(cycleCountDetail.getContainerCode()), CycleCountDetail::getContainerCode,cycleCountDetail.getContainerCode()) //容器 89 .eq(StringUtils.isNotEmpty(cycleCountDetail.getContainerCode()), CycleCountDetail::getContainerCode,cycleCountDetail.getContainerCode()) //容器
@@ -142,9 +142,9 @@ public class CycleCountDetailController extends BaseController { @@ -142,9 +142,9 @@ public class CycleCountDetailController extends BaseController {
142 @Log(title = "库存-盘点", operating = "新增盘点补货明细", action = BusinessType.INSERT) 142 @Log(title = "库存-盘点", operating = "新增盘点补货明细", action = BusinessType.INSERT)
143 @PostMapping("/add") 143 @PostMapping("/add")
144 @ResponseBody 144 @ResponseBody
145 - public AjaxResult addSave(Integer cycleCountHeadId, Integer[] inventoryDetailIdIds) 145 + public AjaxResult addSave(String cycleCountHeadCode, Integer[] inventoryDetailIdIds)
146 { 146 {
147 - return cycleCountDetailService.addDetails(cycleCountHeadId,inventoryDetailIdIds); 147 + return cycleCountDetailService.addDetails(cycleCountHeadCode,inventoryDetailIdIds);
148 } 148 }
149 149
150 /** 150 /**
@@ -160,7 +160,11 @@ public class CycleCountDetailController extends BaseController { @@ -160,7 +160,11 @@ public class CycleCountDetailController extends BaseController {
160 return AjaxResult.error("删除的明细id不能为空"); 160 return AjaxResult.error("删除的明细id不能为空");
161 Integer[] detailsIds = Convert.toIntArray(ids); 161 Integer[] detailsIds = Convert.toIntArray(ids);
162 CycleCountDetail cyclecountDetail = cycleCountDetailService.getById(detailsIds[0]); 162 CycleCountDetail cyclecountDetail = cycleCountDetailService.getById(detailsIds[0]);
163 - CycleCountHeader cyclecountHeader = cycleCountHeaderService.getById(cyclecountDetail.getCycleCountHeadId()); 163 + String masterCode = cyclecountDetail.getCycleCountHeadCode();
  164 + CycleCountHeader ch = new CycleCountHeader();
  165 + ch.setMasterCode(masterCode);
  166 + LambdaQueryWrapper<CycleCountHeader> la = Wrappers.lambdaQuery(ch);
  167 + CycleCountHeader cyclecountHeader = cycleCountHeaderService.getOne(la);
164 if(cyclecountHeader==null){ 168 if(cyclecountHeader==null){
165 return AjaxResult.error("主单据不存在"); 169 return AjaxResult.error("主单据不存在");
166 } 170 }
@@ -183,11 +187,11 @@ public class CycleCountDetailController extends BaseController { @@ -183,11 +187,11 @@ public class CycleCountDetailController extends BaseController {
183 //@RequiresPermissions("inventory:cyclecountDetail:createTask") 187 //@RequiresPermissions("inventory:cyclecountDetail:createTask")
184 @PostMapping("/createCycleCountTaskByHeadId") 188 @PostMapping("/createCycleCountTaskByHeadId")
185 @ResponseBody 189 @ResponseBody
186 - public AjaxResult createCycleCountTaskByHeadId(Integer cycleCountHeadId){  
187 - if(cycleCountHeadId ==null){ 190 + public AjaxResult createCycleCountTaskByHeadId(String cycleCountHeadCode){
  191 + if(cycleCountHeadCode ==null){
188 return AjaxResult.error("生成盘点任务时盘点明细ID不能为空!"); 192 return AjaxResult.error("生成盘点任务时盘点明细ID不能为空!");
189 } 193 }
190 - return cycleCountDetailService.createCycleCountTaskByHeadId(cycleCountHeadId); 194 + return cycleCountDetailService.createCycleCountTaskByHeadId(cycleCountHeadCode);
191 } 195 }
192 196
193 /**生成单条盘点任务*/ 197 /**生成单条盘点任务*/
src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetail.java
@@ -283,9 +283,9 @@ public class CycleCountDetail implements Serializable { @@ -283,9 +283,9 @@ public class CycleCountDetail implements Serializable {
283 /** 283 /**
284 * 盘点主单号 284 * 盘点主单号
285 * */ 285 * */
286 - @TableField(value = "cycleCountHeadId") 286 + @TableField(value = "cycleCountHeadCode")
287 @ApiModelProperty(value = "盘点主单号") 287 @ApiModelProperty(value = "盘点主单号")
288 - private Integer cycleCountHeadId; 288 + private String cycleCountHeadCode;
289 289
290 290
291 291
@@ -947,11 +947,11 @@ public class CycleCountDetail implements Serializable { @@ -947,11 +947,11 @@ public class CycleCountDetail implements Serializable {
947 this.projectNo = projectNo; 947 this.projectNo = projectNo;
948 } 948 }
949 949
950 - public Integer getCycleCountHeadId() {  
951 - return cycleCountHeadId; 950 + public String getCycleCountHeadCode() {
  951 + return cycleCountHeadCode;
952 } 952 }
953 953
954 - public void setCycleCountHeadId(Integer cycleCountHeadId) {  
955 - this.cycleCountHeadId = cycleCountHeadId; 954 + public void setCycleCountHeadCode(String cycleCountHeadCode) {
  955 + this.cycleCountHeadCode = cycleCountHeadCode;
956 } 956 }
957 } 957 }
958 \ No newline at end of file 958 \ No newline at end of file
src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailService.java
@@ -9,9 +9,9 @@ import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail; @@ -9,9 +9,9 @@ import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail;
9 public interface CycleCountDetailService extends IService<CycleCountDetail> { 9 public interface CycleCountDetailService extends IService<CycleCountDetail> {
10 10
11 11
12 - AjaxResult addDetails(Integer cycleCountHeadId, Integer[] inventoryDetailIdIds); 12 + AjaxResult addDetails(String cycleCountHeadId, Integer[] inventoryDetailIdIds);
13 13
14 - AjaxResult createCycleCountTaskByHeadId(Integer cycleCountHeadId); 14 + AjaxResult createCycleCountTaskByHeadId(String cycleCountHeadCode);
15 15
16 AjaxResult createCycleCoutTaskByDetailId(Integer cycleCoutdetailId); 16 AjaxResult createCycleCoutTaskByDetailId(Integer cycleCoutdetailId);
17 17
src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java
@@ -53,9 +53,12 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap @@ -53,9 +53,12 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap
53 * */ 53 * */
54 @Override 54 @Override
55 @Transactional 55 @Transactional
56 - public AjaxResult addDetails(Integer cycleCountHeadId, Integer[] inventoryDetailIdIds) { 56 + public AjaxResult addDetails(String cycleCountHeadCode, Integer[] inventoryDetailIdIds) {
57 57
58 - CycleCountHeader cyclecountHeader = cycleCountHeaderService.getById(cycleCountHeadId); 58 + CycleCountHeader cyclecountHeader =new CycleCountHeader();
  59 + cyclecountHeader.setMasterCode(cycleCountHeadCode);
  60 + LambdaQueryWrapper<CycleCountHeader> ch = Wrappers.lambdaQuery(cyclecountHeader);
  61 + cyclecountHeader = cycleCountHeaderService.getOne(ch);
59 //可能存在并发删除的情况 62 //可能存在并发删除的情况
60 if(cyclecountHeader==null){ 63 if(cyclecountHeader==null){
61 return AjaxResult.error("盘点主单据不存在"); 64 return AjaxResult.error("盘点主单据不存在");
@@ -67,7 +70,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap @@ -67,7 +70,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap
67 CycleCountDetail cycleCountDetail = new CycleCountDetail(); 70 CycleCountDetail cycleCountDetail = new CycleCountDetail();
68 cycleCountDetail.setWarehouseCode(cyclecountHeader.getWarehouseCode()); 71 cycleCountDetail.setWarehouseCode(cyclecountHeader.getWarehouseCode());
69 cycleCountDetail.setCompanyCode(cyclecountHeader.getCompanyCode()); 72 cycleCountDetail.setCompanyCode(cyclecountHeader.getCompanyCode());
70 - cycleCountDetail.setCycleCountHeadId(cycleCountHeadId); 73 + cycleCountDetail.setCycleCountHeadCode(cyclecountHeader.getMasterCode());
71 LambdaQueryWrapper<CycleCountDetail> cycleCountDetailLambd = Wrappers.lambdaQuery(cycleCountDetail); 74 LambdaQueryWrapper<CycleCountDetail> cycleCountDetailLambd = Wrappers.lambdaQuery(cycleCountDetail);
72 List<CycleCountDetail> cyclecountDetailList = this.list(cycleCountDetailLambd); 75 List<CycleCountDetail> cyclecountDetailList = this.list(cycleCountDetailLambd);
73 if(cyclecountDetailList == null){ 76 if(cyclecountDetailList == null){
@@ -83,13 +86,13 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap @@ -83,13 +86,13 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap
83 86
84 //写入盘点明细 87 //写入盘点明细
85 CycleCountDetail ccd = new CycleCountDetail(); 88 CycleCountDetail ccd = new CycleCountDetail();
86 - ccd.setCycleCountHeadId(cycleCountHeadId); 89 + ccd.setCycleCountHeadCode(cyclecountHeader.getMasterCode());
87 ccd.setInventoryDetailId(inventoryDetailId); 90 ccd.setInventoryDetailId(inventoryDetailId);
88 ccd.setWarehouseCode(inventoryDetail.getWarehouseCode()); 91 ccd.setWarehouseCode(inventoryDetail.getWarehouseCode());
89 ccd.setCompanyCode(inventoryDetail.getCompanyCode()); 92 ccd.setCompanyCode(inventoryDetail.getCompanyCode());
90 ccd.setInventorySts(inventoryDetail.getInventorySts()); 93 ccd.setInventorySts(inventoryDetail.getInventorySts());
91 ccd.setCountId(inventoryDetail.getId()); 94 ccd.setCountId(inventoryDetail.getId());
92 - ccd.setEnableStatus(1); 95 + ccd.setEnableStatus(5);
93 ccd.setLocationCode(inventoryDetail.getLocationCode()); 96 ccd.setLocationCode(inventoryDetail.getLocationCode());
94 ccd.setContainerCode(inventoryDetail.getContainerCode()); 97 ccd.setContainerCode(inventoryDetail.getContainerCode());
95 ccd.setMaterialCode(inventoryDetail.getMaterialCode()); 98 ccd.setMaterialCode(inventoryDetail.getMaterialCode());
@@ -107,7 +110,9 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap @@ -107,7 +110,9 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap
107 ccd.setLastUpdated(new Date()); 110 ccd.setLastUpdated(new Date());
108 ccd.setLastUpdatedBy(ShiroUtils.getLoginName()); 111 ccd.setLastUpdatedBy(ShiroUtils.getLoginName());
109 this.save(ccd); 112 this.save(ccd);
110 - 113 + //更新库存锁
  114 + inventoryDetail.setLockCode("cyclecount");
  115 + inventoryDetailService.saveOrUpdate(inventoryDetail);
111 } 116 }
112 return AjaxResult.success("生成盘点明细成功"); 117 return AjaxResult.success("生成盘点明细成功");
113 } 118 }
@@ -115,19 +120,21 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap @@ -115,19 +120,21 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap
115 120
116 /** 121 /**
117 * 生成全部盘点任务 122 * 生成全部盘点任务
118 - * @param cycleCountHeadId 123 + * @param cycleCountHeadCode
119 * @return 124 * @return
120 */ 125 */
121 @Override 126 @Override
122 @Transactional 127 @Transactional
123 - public AjaxResult createCycleCountTaskByHeadId(Integer cycleCountHeadId) {  
124 -  
125 - CycleCountHeader cyclecountHeader = cycleCountHeaderService.getById(cycleCountHeadId); 128 + public AjaxResult createCycleCountTaskByHeadId(String cycleCountHeadCode) {
  129 + CycleCountHeader cyclecountHeader =new CycleCountHeader();
  130 + cyclecountHeader.setMasterCode(cycleCountHeadCode);
  131 + LambdaQueryWrapper<CycleCountHeader> cych = Wrappers.lambdaQuery(cyclecountHeader);
  132 + cyclecountHeader = cycleCountHeaderService.getById(cych);
126 if(cyclecountHeader == null){ 133 if(cyclecountHeader == null){
127 return AjaxResult.error("盘点单不存在"); 134 return AjaxResult.error("盘点单不存在");
128 } 135 }
129 CycleCountDetail temp = new CycleCountDetail(); 136 CycleCountDetail temp = new CycleCountDetail();
130 - temp.setCycleCountHeadId(cycleCountHeadId); 137 + temp.setCycleCountHeadCode(cyclecountHeader.getMasterCode());
131 temp.setWarehouseCode(cyclecountHeader.getWarehouseCode()); 138 temp.setWarehouseCode(cyclecountHeader.getWarehouseCode());
132 temp.setCompanyCode(cyclecountHeader.getCompanyCode()); 139 temp.setCompanyCode(cyclecountHeader.getCompanyCode());
133 LambdaQueryWrapper<CycleCountDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(temp); 140 LambdaQueryWrapper<CycleCountDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(temp);
@@ -139,7 +146,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap @@ -139,7 +146,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap
139 int count = 0; 146 int count = 0;
140 int countErr = 0; 147 int countErr = 0;
141 for(CycleCountDetail item:list){ 148 for(CycleCountDetail item:list){
142 - if(item.getEnableStatus() < 1 && item.getTaskHeaderId() == null){ 149 + if(item.getEnableStatus() < 5 && item.getTaskHeaderId() == null){
143 AjaxResult result = this.createCycleCoutTaskByDetailId(item.getId()); 150 AjaxResult result = this.createCycleCoutTaskByDetailId(item.getId());
144 if(result.getCode()==200){ 151 if(result.getCode()==200){
145 count++; 152 count++;
@@ -184,11 +191,10 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap @@ -184,11 +191,10 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap
184 return AjaxResult.error(cycleCountDetail.getLocationCode()+"没有托盘,操作失败"); 191 return AjaxResult.error(cycleCountDetail.getLocationCode()+"没有托盘,操作失败");
185 } 192 }
186 TaskHeader task = new TaskHeader(); 193 TaskHeader task = new TaskHeader();
187 -  
188 task.setWarehouseCode(ShiroUtils.getWarehouseCode()); 194 task.setWarehouseCode(ShiroUtils.getWarehouseCode());
189 task.setCompanyCode(cycleCountDetail.getCompanyCode()); 195 task.setCompanyCode(cycleCountDetail.getCompanyCode());
190 task.setInternalTaskType(700); 196 task.setInternalTaskType(700);
191 - task.setTaskType(900); 197 + task.setTaskType(700);
192 task.setContainerCode(cycleCountDetail.getContainerCode()); 198 task.setContainerCode(cycleCountDetail.getContainerCode());
193 task.setStatus(0); 199 task.setStatus(0);
194 task.setFromLocation(cycleCountDetail.getLocationCode()); 200 task.setFromLocation(cycleCountDetail.getLocationCode());
@@ -207,6 +213,16 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap @@ -207,6 +213,16 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap
207 TaskDetail taskDetail = new TaskDetail(); 213 TaskDetail taskDetail = new TaskDetail();
208 taskDetail.setTaskId(task.getId());//主单ID 214 taskDetail.setTaskId(task.getId());//主单ID
209 taskDetail.setTaskType(task.getTaskType()); 215 taskDetail.setTaskType(task.getTaskType());
  216 + taskDetail.setBillCode(cycleCountDetail.getCycleCountHeadCode());
  217 + taskDetail.setBillDetailId(taskDetail.getId());
  218 + taskDetail.setMaterialCode(cycleCountDetail.getMaterialCode());
  219 + taskDetail.setMaterialName(cycleCountDetail.getMaterialName());
  220 + taskDetail.setMaterialSpec(cycleCountDetail.getMaterialSpec());
  221 + taskDetail.setMaterialUnit(cycleCountDetail.getMaterialUnit());
  222 + taskDetail.setBatch(cycleCountDetail.getBatch());
  223 + taskDetail.setFromInventoryId(cycleCountDetail.getInventoryDetailId());
  224 + taskDetail.setLot(cycleCountDetail.getLot());
  225 + taskDetail.setProjectNo(cycleCountDetail.getProjectNo());
210 taskDetail.setInternalTaskType(task.getTaskType()); 226 taskDetail.setInternalTaskType(task.getTaskType());
211 taskDetail.setWarehouseCode(task.getWarehouseCode()); 227 taskDetail.setWarehouseCode(task.getWarehouseCode());
212 taskDetail.setCompanyCode(cycleCountDetail.getCompanyCode()); 228 taskDetail.setCompanyCode(cycleCountDetail.getCompanyCode());
@@ -225,7 +241,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap @@ -225,7 +241,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl&lt;CycleCountDetailMap
225 cycleCountDetail.setTaskHeaderId(task.getId()); 241 cycleCountDetail.setTaskHeaderId(task.getId());
226 cycleCountDetail.setLastUpdated(new Date()); 242 cycleCountDetail.setLastUpdated(new Date());
227 cycleCountDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); 243 cycleCountDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
228 - cycleCountDetail.setEnableStatus(1); 244 + cycleCountDetail.setEnableStatus(5);
229 this.saveOrUpdate(cycleCountDetail); 245 this.saveOrUpdate(cycleCountDetail);
230 return AjaxResult.success("盘点任务生成成功"); 246 return AjaxResult.success("盘点任务生成成功");
231 } 247 }
src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java
@@ -195,7 +195,7 @@ public class CycleCountHeaderController extends BaseController { @@ -195,7 +195,7 @@ public class CycleCountHeaderController extends BaseController {
195 mmap.put("cyclecountHeader", cyclecountHeader); 195 mmap.put("cyclecountHeader", cyclecountHeader);
196 196
197 CycleCountDetail condition = new CycleCountDetail(); 197 CycleCountDetail condition = new CycleCountDetail();
198 - condition.setCycleCountHeadId(id); 198 + condition.setCycleCountHeadCode(cyclecountHeader.getMasterCode());
199 condition.setWarehouseCode(ShiroUtils.getWarehouseCode()); 199 condition.setWarehouseCode(ShiroUtils.getWarehouseCode());
200 LambdaQueryWrapper lambda = Wrappers.lambdaQuery(condition); 200 LambdaQueryWrapper lambda = Wrappers.lambdaQuery(condition);
201 List<CycleCountDetail> details = cycleCountDetailService.list(lambda); 201 List<CycleCountDetail> details = cycleCountDetailService.list(lambda);
src/main/java/com/huaheng/pc/inventory/cycleCountHeader/service/CycleCountHeaderServiceImpl.java
@@ -88,7 +88,7 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl&lt;CycleCountHeaderMap @@ -88,7 +88,7 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl&lt;CycleCountHeaderMap
88 //批量删除子单据 88 //批量删除子单据
89 CycleCountDetail temp = new CycleCountDetail(); 89 CycleCountDetail temp = new CycleCountDetail();
90 temp.setWarehouseCode(ShiroUtils.getWarehouseCode()); 90 temp.setWarehouseCode(ShiroUtils.getWarehouseCode());
91 - temp.setCycleCountHeadId(cyclecountHeader.getId()); 91 + temp.setCycleCountHeadCode(cyclecountHeader.getMasterCode());
92 LambdaQueryWrapper lm = Wrappers.lambdaQuery(temp); 92 LambdaQueryWrapper lm = Wrappers.lambdaQuery(temp);
93 cycleCountDetailService.remove(lm); 93 cycleCountDetailService.remove(lm);
94 cycleCountHeaderMapper.deleteById(id); 94 cycleCountHeaderMapper.deleteById(id);
@@ -128,7 +128,7 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl&lt;CycleCountHeaderMap @@ -128,7 +128,7 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl&lt;CycleCountHeaderMap
128 128
129 //根据盘点单查询明细并写入调整单 129 //根据盘点单查询明细并写入调整单
130 CycleCountDetail cycleCountDetail = new CycleCountDetail(); 130 CycleCountDetail cycleCountDetail = new CycleCountDetail();
131 - cycleCountDetail.setCycleCountHeadId(id); 131 + cycleCountDetail.setCycleCountHeadCode(cyclecountHeader.getMasterCode());
132 cycleCountDetail.setWarehouseCode(cyclecountHeader.getWarehouseCode()); 132 cycleCountDetail.setWarehouseCode(cyclecountHeader.getWarehouseCode());
133 LambdaQueryWrapper lam = Wrappers.lambdaQuery(cycleCountDetail); 133 LambdaQueryWrapper lam = Wrappers.lambdaQuery(cycleCountDetail);
134 List<CycleCountDetail> cycleCountDetailList = cycleCountDetailService.list(lam); 134 List<CycleCountDetail> cycleCountDetailList = cycleCountDetailService.list(lam);
@@ -167,7 +167,6 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl&lt;CycleCountHeaderMap @@ -167,7 +167,6 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl&lt;CycleCountHeaderMap
167 } 167 }
168 168
169 //修改盘点主单状态为已生成差异单 169 //修改盘点主单状态为已生成差异单
170 -  
171 cyclecountHeader.setStatusCyc(35); 170 cyclecountHeader.setStatusCyc(35);
172 this.saveOrUpdate(cyclecountHeader); 171 this.saveOrUpdate(cyclecountHeader);
173 172
src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java
@@ -38,10 +38,9 @@ public class InventoryDetailController extends BaseController @@ -38,10 +38,9 @@ public class InventoryDetailController extends BaseController
38 { 38 {
39 private String prefix = "inventory/inventoryDetail"; 39 private String prefix = "inventory/inventoryDetail";
40 40
41 - @Resource  
42 - private MaterialServiceImpl materialService;  
43 - @Resource  
44 - private InventoryHeaderService inventoryHeaderService; 41 +
  42 +
  43 +
45 @Resource 44 @Resource
46 private InventoryDetailService inventoryDetailService; 45 private InventoryDetailService inventoryDetailService;
47 46
@@ -86,6 +85,7 @@ public class InventoryDetailController extends BaseController @@ -86,6 +85,7 @@ public class InventoryDetailController extends BaseController
86 .eq(inventoryDetail.getReceiptDetailId() != null,InventoryDetail::getReceiptDetailId,inventoryDetail.getReceiptDetailId()) // 入库单明细ID 85 .eq(inventoryDetail.getReceiptDetailId() != null,InventoryDetail::getReceiptDetailId,inventoryDetail.getReceiptDetailId()) // 入库单明细ID
87 .eq(StringUtils.isNotEmpty(inventoryDetail.getReferCode()),InventoryDetail::getReferCode,inventoryDetail.getReferCode())//上游单号 86 .eq(StringUtils.isNotEmpty(inventoryDetail.getReferCode()),InventoryDetail::getReferCode,inventoryDetail.getReferCode())//上游单号
88 .eq(StringUtils.isNotEmpty(inventoryDetail.getReferDetailId()),InventoryDetail::getReferDetailId,inventoryDetail.getReferDetailId())//上游行号 87 .eq(StringUtils.isNotEmpty(inventoryDetail.getReferDetailId()),InventoryDetail::getReferDetailId,inventoryDetail.getReferDetailId())//上游行号
  88 + .eq(StringUtils.isNotEmpty(inventoryDetail.getLockCode()),InventoryDetail::getLockCode,inventoryDetail.getLockCode())//库存锁
89 .orderByDesc(InventoryDetail::getId); 89 .orderByDesc(InventoryDetail::getId);
90 90
91 if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ 91 if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
@@ -99,6 +99,54 @@ public class InventoryDetailController extends BaseController @@ -99,6 +99,54 @@ public class InventoryDetailController extends BaseController
99 } 99 }
100 } 100 }
101 101
  102 + /**
  103 + * 盘点查询库存明细列表
  104 + */
  105 + //@RequiresPermissions("inventory:inventoryDetail:list")
  106 + @Log(title = "库存-盘点库存明细查看",operating = "盘点查看库存明细列表", action = BusinessType.GRANT)
  107 + @PostMapping("/inventoryCycleCountLook")
  108 + @ResponseBody
  109 + public TableDataInfo CycleCountLook(InventoryDetail inventoryDetail, String createdBegin, String createdEnd)
  110 + {
  111 + LambdaQueryWrapper<InventoryDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
  112 + PageDomain pageDomain = TableSupport.buildPageRequest();
  113 + Integer pageNum = pageDomain.getPageNum();
  114 + Integer pageSize = pageDomain.getPageSize();
  115 +
  116 + lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin),InventoryDetail::getCreated, createdBegin)
  117 + .le(StringUtils.isNotEmpty(createdEnd), InventoryDetail::getCreated, createdEnd)//创建时间范围
  118 + .eq(InventoryDetail::getWarehouseCode, ShiroUtils.getWarehouseCode())//仓库
  119 + .eq(inventoryDetail.getInventoryHeaderId() != null,InventoryDetail::getInventoryHeaderId,inventoryDetail.getInventoryHeaderId()) //ID
  120 + .eq(StringUtils.isNotEmpty(inventoryDetail.getLocationCode()),InventoryDetail::getLocationCode,inventoryDetail.getLocationCode()) //库位
  121 + .eq(StringUtils.isNotEmpty(inventoryDetail.getContainerCode()),InventoryDetail::getContainerCode,inventoryDetail.getContainerCode())//容器
  122 + .eq(StringUtils.isNotEmpty(inventoryDetail.getCompanyCode()),InventoryDetail::getCompanyCode,inventoryDetail.getCompanyCode())//货主
  123 + .eq(StringUtils.isNotEmpty(inventoryDetail.getSupplierCode()),InventoryDetail::getSupplierCode,inventoryDetail.getSupplierCode())//供应商
  124 + .eq(StringUtils.isNotEmpty(inventoryDetail.getMaterialCode()),InventoryDetail::getMaterialCode,inventoryDetail.getMaterialCode())//物料编码
  125 + .like(StringUtils.isNotEmpty(inventoryDetail.getMaterialName()),InventoryDetail::getMaterialName,inventoryDetail.getMaterialName())//物料名称
  126 + .like(StringUtils.isNotEmpty(inventoryDetail.getMaterialSpec()),InventoryDetail::getMaterialSpec,inventoryDetail.getMaterialSpec())//物料规格
  127 + .eq(StringUtils.isNotEmpty(inventoryDetail.getInventorySts()),InventoryDetail::getInventorySts,inventoryDetail.getInventorySts())//库存状态
  128 + .eq(StringUtils.isNotEmpty(inventoryDetail.getBatch()),InventoryDetail::getBatch,inventoryDetail.getBatch())//批次
  129 + .eq(StringUtils.isNotEmpty(inventoryDetail.getProjectNo()),InventoryDetail::getProjectNo,inventoryDetail.getProjectNo())//项目号
  130 + .eq(StringUtils.isNotEmpty(inventoryDetail.getLot()),InventoryDetail::getLot,inventoryDetail.getLot())//批号
  131 + .eq(StringUtils.isNotEmpty(inventoryDetail.getReceiptCode()),InventoryDetail::getReceiptCode,inventoryDetail.getReceiptCode())//入库单编码
  132 + .eq(inventoryDetail.getReceiptDetailId() != null,InventoryDetail::getReceiptDetailId,inventoryDetail.getReceiptDetailId()) // 入库单明细ID
  133 + .eq(StringUtils.isNotEmpty(inventoryDetail.getReferCode()),InventoryDetail::getReferCode,inventoryDetail.getReferCode())//上游单号
  134 + .eq(StringUtils.isNotEmpty(inventoryDetail.getReferDetailId()),InventoryDetail::getReferDetailId,inventoryDetail.getReferDetailId())//上游行号
  135 + //默认库存锁为空,当有盘点锁时不显示
  136 + .ne(InventoryDetail::getLockCode,"cyclecount")//库存锁 ,ne不等于
  137 + .orderByDesc(InventoryDetail::getId);
  138 +
  139 + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
  140 + //分页查询
  141 + Page<InventoryDetail> page = new Page<>(pageNum, pageSize);
  142 + IPage<InventoryDetail> iPage = inventoryDetailService.page(page, lambdaQueryWrapper);
  143 + return getMpDataTable(iPage.getRecords(),iPage.getTotal());
  144 + } else {
  145 + List<InventoryDetail> list = inventoryDetailService.list(lambdaQueryWrapper);
  146 + return getDataTable(list);
  147 + }
  148 + }
  149 +
102 /**库存明细出库查看*/ 150 /**库存明细出库查看*/
103 //@RequiresPermissions("inventory:inventoryHeader:seeOut") 151 //@RequiresPermissions("inventory:inventoryHeader:seeOut")
104 @PostMapping("/detailcreateCheckOutTask") 152 @PostMapping("/detailcreateCheckOutTask")
src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
@@ -12,6 +12,8 @@ import com.huaheng.pc.config.container.domain.Container; @@ -12,6 +12,8 @@ import com.huaheng.pc.config.container.domain.Container;
12 import com.huaheng.pc.config.container.service.ContainerService; 12 import com.huaheng.pc.config.container.service.ContainerService;
13 import com.huaheng.pc.config.location.domain.Location; 13 import com.huaheng.pc.config.location.domain.Location;
14 import com.huaheng.pc.config.location.service.LocationService; 14 import com.huaheng.pc.config.location.service.LocationService;
  15 +import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail;
  16 +import com.huaheng.pc.inventory.cycleCountDetail.service.CycleCountDetailService;
15 import com.huaheng.pc.inventory.cycleCountHeader.domain.CycleCountHeader; 17 import com.huaheng.pc.inventory.cycleCountHeader.domain.CycleCountHeader;
16 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail; 18 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
17 import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService; 19 import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
@@ -38,6 +40,7 @@ import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService; @@ -38,6 +40,7 @@ import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService;
38 import com.huaheng.pc.task.taskDetail.domain.TaskDetail; 40 import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
39 import com.huaheng.pc.task.taskDetail.service.TaskDetailService; 41 import com.huaheng.pc.task.taskDetail.service.TaskDetailService;
40 import com.huaheng.pc.task.taskHeader.domain.ShipmentTaskCreateModel; 42 import com.huaheng.pc.task.taskHeader.domain.ShipmentTaskCreateModel;
  43 +import org.apache.poi.ss.formula.functions.T;
41 import org.jsoup.helper.DataUtil; 44 import org.jsoup.helper.DataUtil;
42 import org.springframework.stereotype.Service; 45 import org.springframework.stereotype.Service;
43 import java.math.BigDecimal; 46 import java.math.BigDecimal;
@@ -87,8 +90,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -87,8 +90,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
87 private ShipmentHeaderService shipmentHeaderService; 90 private ShipmentHeaderService shipmentHeaderService;
88 @Resource 91 @Resource
89 private ShipmentDetailService shipmentDetailService; 92 private ShipmentDetailService shipmentDetailService;
90 -  
91 - 93 + @Resource
  94 + private CycleCountDetailService cycleCountDetailService;
92 @Resource 95 @Resource
93 private ReceiptContainerHeaderService receiptContainerHeaderService; 96 private ReceiptContainerHeaderService receiptContainerHeaderService;
94 @Resource 97 @Resource
@@ -104,11 +107,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -104,11 +107,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
104 return taskHeaderMapper.UncompleteCount(ContainerCode, ShiroUtils.getWarehouseCode()); 107 return taskHeaderMapper.UncompleteCount(ContainerCode, ShiroUtils.getWarehouseCode());
105 } 108 }
106 109
107 -  
108 /** 110 /**
109 * 取消任务 111 * 取消任务
110 * */ 112 * */
111 -  
112 @Override 113 @Override
113 @Transactional 114 @Transactional
114 public AjaxResult cancelTask(Integer[] taskIds) { 115 public AjaxResult cancelTask(Integer[] taskIds) {
@@ -120,6 +121,17 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -120,6 +121,17 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
120 if(taskHeader.getStatus() > 9){ 121 if(taskHeader.getStatus() > 9){
121 return AjaxResult.error("存在任务"+taskHeader.getId()+"已下发或执行,操作中止"); 122 return AjaxResult.error("存在任务"+taskHeader.getId()+"已下发或执行,操作中止");
122 } 123 }
  124 + //查出任务明细
  125 + TaskDetail taskDetail1 = new TaskDetail();
  126 + taskDetail1.setTaskId(taskHeader.getId());
  127 + taskDetail1.setWarehouseCode(taskHeader.getWarehouseCode());
  128 + taskDetail1.setCompanyCode(taskHeader.getCompanyCode());
  129 + LambdaQueryWrapper<TaskDetail> td = Wrappers.lambdaQuery(taskDetail1);
  130 + List<TaskDetail> taskDetailList = taskDetailService.list(td);
  131 + TaskDetail taskDetail = taskDetailList.get(0);
  132 + if(taskDetail == null){
  133 + throw new ServiceException("任务明细条目错误");
  134 + }
123 //删除子任务 135 //删除子任务
124 LambdaQueryWrapper<TaskDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); 136 LambdaQueryWrapper<TaskDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
125 lambdaQueryWrapper.eq(TaskDetail::getTaskId,taskHeader.getId()); 137 lambdaQueryWrapper.eq(TaskDetail::getTaskId,taskHeader.getId());
@@ -142,13 +154,28 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -142,13 +154,28 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
142 shipmentContainerHeader.setStatus(0); 154 shipmentContainerHeader.setStatus(0);
143 shipmentContainerHeaderService.updateById(shipmentContainerHeader); 155 shipmentContainerHeaderService.updateById(shipmentContainerHeader);
144 } 156 }
145 -// if(taskHeader.getInternalTaskType() == 700) {  
146 -// CycleCountHeader cycleCountHeader = new CycleCountHeader();  
147 -// cycleCountHeader.setId(task.getAllocationHeadId());  
148 -// cycleCountHeader.setLastUpdated(new Date());  
149 -// cycleCountHeader.setLastUpdatedBy(ShiroUtils.getLoginName());  
150 -// cyclecountDetailService.updateByModel(cyclecountDetail);  
151 -// } 157 + //盘点取消任务,恢复明细状态为1
  158 + if(taskHeader.getInternalTaskType() == 700) {
  159 +
  160 + CycleCountDetail cycleCountDetail = new CycleCountDetail();
  161 + cycleCountDetail.setCompanyCode(taskDetail.getCompanyCode());
  162 + cycleCountDetail.setWarehouseCode(taskDetail.getWarehouseCode());
  163 + cycleCountDetail.setLocationCode(taskDetail.getFromLocation());
  164 + cycleCountDetail.setContainerCode(taskDetail.getContainerCode());
  165 + cycleCountDetail.setCycleCountHeadCode(taskDetail.getBillCode());//盘点单Code
  166 + cycleCountDetail.setId(taskDetail.getBillDetailId());//盘点细单ID
  167 + LambdaQueryWrapper<CycleCountDetail> lam = Wrappers.lambdaQuery(cycleCountDetail);
  168 + List<CycleCountDetail> cycleCountDetailList = cycleCountDetailService.list(lam);//
  169 + for(CycleCountDetail item:cycleCountDetailList){
  170 + item.setTaskHeaderId(null);
  171 + item.setTaskHeaderId(null);
  172 + item.setLastUpdated(new Date());
  173 + item.setLastUpdatedBy(ShiroUtils.getLoginName());
  174 + item.setEnableStatus(1);
  175 + cycleCountDetailService.saveOrUpdate(item);
  176 + }
  177 +
  178 + }
152 if(taskHeader.getInternalTaskType()==100||taskHeader.getInternalTaskType()==200){ 179 if(taskHeader.getInternalTaskType()==100||taskHeader.getInternalTaskType()==200){
153 if(taskHeader.getToLocation()!=null){ 180 if(taskHeader.getToLocation()!=null){
154 //更新托盘、库位状态 181 //更新托盘、库位状态
@@ -682,7 +709,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -682,7 +709,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
682 * @param task 709 * @param task
683 */ 710 */
684 @Transactional 711 @Transactional
685 - private void completeTransferTask(TaskHeader task) { 712 + public void completeTransferTask(TaskHeader task) {
686 //找到任务明细 713 //找到任务明细
687 TaskDetail taskDetail = new TaskDetail(); 714 TaskDetail taskDetail = new TaskDetail();
688 taskDetail.setTaskId(task.getId()); 715 taskDetail.setTaskId(task.getId());
@@ -899,13 +926,14 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -899,13 +926,14 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
899 if (taskDetailService.saveOrUpdateBatch(taskDetailList) == false || taskHeaderService.saveOrUpdate(taskHeader) == false) { 926 if (taskDetailService.saveOrUpdateBatch(taskDetailList) == false || taskHeaderService.saveOrUpdate(taskHeader) == false) {
900 throw new ServiceException("任务单据状态更新失败!"); 927 throw new ServiceException("任务单据状态更新失败!");
901 } 928 }
902 - //盘点完成时,修改盘点详细中的状态为100,容器恢复为空 929 + //盘点完成时,修改盘点详细中的状态为100,容器恢复为空,库存解锁
903 if (taskHeader.getTaskType() == 700) { 930 if (taskHeader.getTaskType() == 700) {
904 /*CyclecountDetail cyclecountDetai = cyclecountDetailService.selectEntityById( 931 /*CyclecountDetail cyclecountDetai = cyclecountDetailService.selectEntityById(
905 task.getAllocationHeadId()); 932 task.getAllocationHeadId());
906 cyclecountDetai.setStatus(40); 933 cyclecountDetai.setStatus(40);
907 cyclecountDetailService.updateByModel(cyclecountDetai); 934 cyclecountDetailService.updateByModel(cyclecountDetai);
908 containerService.updateStatus(task.getContainerCode(),"empty");*/ 935 containerService.updateStatus(task.getContainerCode(),"empty");*/
  936 +
909 } 937 }
910 //释放库位状态 938 //释放库位状态
911 locationService.updateStatus(taskHeader.getFromLocation(), "empty"); 939 locationService.updateStatus(taskHeader.getFromLocation(), "empty");
@@ -1061,11 +1089,6 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -1061,11 +1089,6 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1061 return AjaxResult.success("生成上架任务成功!"); 1089 return AjaxResult.success("生成上架任务成功!");
1062 } 1090 }
1063 1091
1064 -  
1065 -  
1066 -  
1067 -  
1068 -  
1069 /** 1092 /**
1070 * 1093 *
1071 * 完成出库任务 1094 * 完成出库任务
@@ -1216,4 +1239,19 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -1216,4 +1239,19 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1216 } 1239 }
1217 1240
1218 1241
  1242 +
  1243 +
  1244 +
  1245 +
  1246 +
  1247 +
  1248 +
  1249 +
  1250 +
  1251 +
  1252 +
  1253 +
  1254 +
  1255 +
  1256 +
1219 } 1257 }
src/main/resources/mybatis/inventory/CycleCountDetailMapper.xml
@@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
4 <resultMap id="BaseResultMap" type="com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail"> 4 <resultMap id="BaseResultMap" type="com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail">
5 <!--@mbg.generated--> 5 <!--@mbg.generated-->
6 <id column="id" jdbcType="INTEGER" property="id" /> 6 <id column="id" jdbcType="INTEGER" property="id" />
  7 + <result column="cycleCountHeadCode" jdbcType="VARCHAR" property="cycleCountHeadCode" />
7 <result column="countId" jdbcType="INTEGER" property="countId" /> 8 <result column="countId" jdbcType="INTEGER" property="countId" />
8 <result column="round" jdbcType="INTEGER" property="round" /> 9 <result column="round" jdbcType="INTEGER" property="round" />
9 <result column="taskHeaderId" jdbcType="INTEGER" property="taskHeaderId" /> 10 <result column="taskHeaderId" jdbcType="INTEGER" property="taskHeaderId" />
@@ -44,7 +45,7 @@ @@ -44,7 +45,7 @@
44 </resultMap> 45 </resultMap>
45 <sql id="Base_Column_List"> 46 <sql id="Base_Column_List">
46 <!--@mbg.generated--> 47 <!--@mbg.generated-->
47 - id, countId, round, taskHeaderId, taskDetailId, warehouseCode, inventoryDetailId, 48 + id, countId, cycleCountHeadCode, round, taskHeaderId, taskDetailId, warehouseCode, inventoryDetailId,
48 locationCode, containerCode, materialCode, materialName, materialSpec, materialUnit, 49 locationCode, containerCode, materialCode, materialName, materialSpec, materialUnit,
49 companyCode, inventorySts, systemQty, countedQty, gapQty, rejectionNote, countedBy, 50 companyCode, inventorySts, systemQty, countedQty, gapQty, rejectionNote, countedBy,
50 countedAt, assignedTo, assignedAt, completedBy, completedAt, enableStatus, created, 51 countedAt, assignedTo, assignedAt, completedBy, completedAt, enableStatus, created,
src/main/resources/templates/inventory/cycleCountDetail/add.html
@@ -11,45 +11,70 @@ @@ -11,45 +11,70 @@
11 <input type="hidden" id="cycleCountHeadId" name="cycleCountHeadId" th:value="${cycleCountHeadId}"> 11 <input type="hidden" id="cycleCountHeadId" name="cycleCountHeadId" th:value="${cycleCountHeadId}">
12 <div class="select-list"> 12 <div class="select-list">
13 <ul> 13 <ul>
14 - <li>  
15 - 货主编码:<input type="text" id="companyCode" name="companyCode" th:value="${companyCode}" readonly="readonly"/>  
16 - </li>  
17 - <li>  
18 - 库位编码:<input type="text" id="locationCode" name="locationCode"/>  
19 - </li>  
20 - <li>  
21 - 容器编号:<input type="text" id="containerCode" name="containerCode"/>  
22 - </li>  
23 - <li>  
24 - 存货编码:<input type="text" id="materialCode" name="materialCode"/>  
25 - </li>  
26 - <li>  
27 - 物料名称:<input type="text" id="materialName" name="materialName"/>  
28 - </li>  
29 - <!--<li>  
30 - 物料规格:<input type="text" name="materialSpec"/>  
31 - </li>--> 14 + <ul>
  15 + <li>
  16 + 库存头ID:<input id="inventoryHeaderId" type="text" name="inventoryHeaderId"/>
  17 + </li>
  18 + <li>
  19 + 库位编号:<input id="locationCode" type="text" name="locationCode"/>
  20 + </li>
  21 + <li>
  22 + 容器编号:<input id="containerCode" type="text" name="containerCode"/>
  23 + </li>
  24 + <li>
  25 + 物料编码:<input type="text" name="materialCode"/>
  26 + </li>
  27 + <li>
  28 + 物料名称:<input type="text" name="materialName"/>
  29 + </li>
  30 + <li>
  31 + 物料规格:<input type="text" name="materialSpec"/>
  32 + </li>
  33 + <li>
  34 + 库存状态:
  35 + <select name="inventorySts" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}">
  36 + <option value="">所有</option>
  37 + <option th:each="e : ${inventoryStatus}" th:text="${e['dictLabel']}"
  38 + th:value="${e['dictValue']}"></option>
  39 + </select>
  40 + </li>
  41 + <li>
  42 + 供应商编码:<input type="text" name="supplierCode"/>
  43 + </li>
  44 + <li>
  45 + 货主编码:<input type="text" name="companyCode"/>
  46 + </li>
  47 + <li>
  48 + 上游单号:<input type="text" name="referCode"/>
  49 + </li>
  50 + <li>
  51 + 上游行号:<input type="text" name="referDetailId"/>
  52 + </li>
  53 + <li>
  54 + 入库编码:<input type="text" name="receiptCode"/>
  55 + </li>
  56 + <li>
  57 + 入库明细ID:<input type="text" name="receiptDetailId"/>
  58 + </li>
32 59
  60 + <li>
  61 + 项 目 号:<input type="text" name="projectNo"/>
  62 + </li>
  63 + <li>
  64 + 批&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;次:<input type="text" name="batch"/>
  65 + </li>
  66 + <li>
  67 + 批&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:<input type="text" name="lot"/>
  68 + </li>
33 69
34 - <li>  
35 - &nbsp;&nbsp;供 应 商:<input type="text" name="supplierCode"/>  
36 - </li>  
37 - <!--<li>  
38 - 库存状态:  
39 - <select id="status" name="status" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}">  
40 - <option value="">所有</option>  
41 - <option th:each="e : ${inventoryStatus}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>  
42 - </select>  
43 - </li>-->  
44 - <li>  
45 - &nbsp;&nbsp;&nbsp;项 目 号:<input type="text" id="project" name="project"/>  
46 - </li>  
47 - <li class="time">  
48 - <label>创建时间: </label>  
49 - <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>  
50 - <span>-</span>  
51 - <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>  
52 - </li> 70 + <li class="time" style="height:30px">
  71 + <label>创建时间: </label>
  72 + <input type="text" class="time-input" id="startTime" placeholder="开始时间"
  73 + name="params[createdBegin]"/>
  74 + <span>-</span>
  75 + <input type="text" class="time-input" id="endTime" placeholder="结束时间"
  76 + name="params[createdEnd]"/>
  77 + </li>
53 <li> 78 <li>
54 <a id="search" class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a> 79 <a id="search" class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
55 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>--> 80 <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
@@ -76,7 +101,7 @@ @@ -76,7 +101,7 @@
76 var inventoryStatus=[[${@dict.getType('inventoryStatus')}]]; 101 var inventoryStatus=[[${@dict.getType('inventoryStatus')}]];
77 $(function() { 102 $(function() {
78 $("#bootstrap-table").bootstrapTable({ 103 $("#bootstrap-table").bootstrapTable({
79 - url: prefix + "/inventoryDetailLook", 104 + url: prefix + "/inventoryCycleCountLook",
80 method:"post", 105 method:"post",
81 contentType: "application/x-www-form-urlencoded", 106 contentType: "application/x-www-form-urlencoded",
82 cache: false, // 是否使用缓存 107 cache: false, // 是否使用缓存
@@ -323,7 +348,7 @@ @@ -323,7 +348,7 @@
323 success : function(data) { 348 success : function(data) {
324 if(data.code=="200"){ 349 if(data.code=="200"){
325 $.modal.alertSuccess("成功"); 350 $.modal.alertSuccess("成功");
326 - parent.update(); 351 + parent.$.table.refresh();
327 }else{ 352 }else{
328 $.modal.alertError(data.msg) 353 $.modal.alertError(data.msg)
329 } 354 }
src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html
@@ -10,7 +10,7 @@ @@ -10,7 +10,7 @@
10 <ul> 10 <ul>
11 <li> 11 <li>
12 <form id="cycleHeader-form"> 12 <form id="cycleHeader-form">
13 - 盘点主ID:<input type="text" id="cycleCountHeadId" name="cycleCountHeadId" readonly="readonly" /> 13 + 盘点主ID:<input type="text" id="cycleCountHeadCode" name="cycleCountHeadCode" readonly="readonly" />
14 </form> 14 </form>
15 </li> 15 </li>
16 <li> 16 <li>
@@ -88,17 +88,17 @@ @@ -88,17 +88,17 @@
88 shiro:hasPermission="inventory:cycleCountDetail:add"> 88 shiro:hasPermission="inventory:cycleCountDetail:add">
89 <i class="fa fa-plus"></i> 新增 89 <i class="fa fa-plus"></i> 新增
90 </a> 90 </a>
91 - <a class="btn btn-outline btn-danger btn-rounded" onclick="createCyclecountWithGapQty()" 91 + <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="createCyclecountWithGapQty()"
92 shiro:hasPermission="inventory:cyclecountDetail:cyclecountRepeat"> 92 shiro:hasPermission="inventory:cyclecountDetail:cyclecountRepeat">
93 <i class="fa fa-vcard"></i> 差异复盘 93 <i class="fa fa-vcard"></i> 差异复盘
94 - </a> 94 + </a>-->
95 <a class="btn btn-outline btn-danger btn-rounded" onclick="outcheckAll()" 95 <a class="btn btn-outline btn-danger btn-rounded" onclick="outcheckAll()"
96 shiro:hasPermission="inventory:cyclecountDetail:createTask"> 96 shiro:hasPermission="inventory:cyclecountDetail:createTask">
97 <i class="fa fa-vcard"></i> 生成全部盘点任务 97 <i class="fa fa-vcard"></i> 生成全部盘点任务
98 </a> 98 </a>
99 <a class="btn btn-outline btn-danger btn-rounded" onclick="batRemove()" 99 <a class="btn btn-outline btn-danger btn-rounded" onclick="batRemove()"
100 shiro:hasPermission="inventory:cyclecountDetail:remove"> 100 shiro:hasPermission="inventory:cyclecountDetail:remove">
101 - <i class="fa fa-trash-o"></i> 删除 101 + <i class="fa fa-trash-o"></i> 批量删除
102 </a> 102 </a>
103 <a class="btn btn-outline btn-success btn-rounded" onclick="$.table.refresh()"> 103 <a class="btn btn-outline btn-success btn-rounded" onclick="$.table.refresh()">
104 <i class="fa fa-refresh"></i> 刷新 104 <i class="fa fa-refresh"></i> 刷新
@@ -147,8 +147,8 @@ @@ -147,8 +147,8 @@
147 sortable:true 147 sortable:true
148 }, 148 },
149 { 149 {
150 - field: 'cycleCountHeadId',  
151 - title: '盘点主单ID', 150 + field: 'cycleCountHeadCode',
  151 + title: '盘点主单编码',
152 }, 152 },
153 { 153 {
154 field: 'warehouseCode', 154 field: 'warehouseCode',
@@ -330,11 +330,11 @@ @@ -330,11 +330,11 @@
330 },url = location.search; //获取url中"?"符后的字串 330 },url = location.search; //获取url中"?"符后的字串
331 if (url.indexOf("?") != -1) { //判断是否有参数 331 if (url.indexOf("?") != -1) { //判断是否有参数
332 let strs = url.substr(1).split("="); 332 let strs = url.substr(1).split("=");
333 - $("#cycleCountHeadId").val(strs[1]); 333 + $("#cycleCountHeadCode").val(strs[1]);
334 options.queryParams=function(params) { 334 options.queryParams=function(params) {
335 return { 335 return {
336 // 传递参数查询参数 336 // 传递参数查询参数
337 - cycleCountHeadId:strs[1], 337 + cycleCountHeadCode:strs[1],
338 pageSize: params.limit, 338 pageSize: params.limit,
339 pageNum: params.offset / params.limit + 1, 339 pageNum: params.offset / params.limit + 1,
340 searchValue: params.search, 340 searchValue: params.search,
@@ -349,10 +349,10 @@ @@ -349,10 +349,10 @@
349 } 349 }
350 } 350 }
351 function add() { 351 function add() {
352 - var cycleCountHeadId = $('#cycleCountHeadId').val();  
353 - var companyCode = $('#companyCode').val();  
354 - if(cycleCountHeadId !=null && cycleCountHeadId!="" && cycleCountHeadId!=undefined){  
355 - open("添加盘点明细", prefix+"/add?cycleCountHeadId=" + cycleCountHeadId); 352 + var cycleCountHeadCode = $('#cycleCountHeadCode').val();
  353 + //var companyCode = $('#companyCode').val();
  354 + if(cycleCountHeadCode !=null && cycleCountHeadCode!="" && cycleCountHeadCode!=undefined){
  355 + open("添加盘点明细", prefix+"/add?cycleCountHeadCode=" + cycleCountHeadCode);
356 } 356 }
357 } 357 }
358 function remove(id) { 358 function remove(id) {
@@ -538,7 +538,7 @@ @@ -538,7 +538,7 @@
538 function comfirmAllWithNoGapQty() { 538 function comfirmAllWithNoGapQty() {
539 $.modal.confirm("确认全部无差异登记么?注意这会覆盖先前登记的信息。", function() { 539 $.modal.confirm("确认全部无差异登记么?注意这会覆盖先前登记的信息。", function() {
540 var url = prefix + "/comfirmAllWithNoGapQty"; 540 var url = prefix + "/comfirmAllWithNoGapQty";
541 - var data = { "cycleCountHeadId": $('#cycleCountHeadId').val() }; 541 + var data = { "cycleCountHeadCode": $('#cycleCountHeadCode').val() };
542 postInner(url, data); 542 postInner(url, data);
543 }); 543 });
544 } 544 }
@@ -549,7 +549,7 @@ @@ -549,7 +549,7 @@
549 /* function comfirmRemainWithNoGapQty() { 549 /* function comfirmRemainWithNoGapQty() {
550 $.modal.confirm("确认剩余无差异登记么?", function() { 550 $.modal.confirm("确认剩余无差异登记么?", function() {
551 var url = prefix + "/comfirmRemainWithNoGapQty"; 551 var url = prefix + "/comfirmRemainWithNoGapQty";
552 - var data = { "cycleCountHeadId": $('#cycleCountHeadId').val() }; 552 + var data = { "cycleCountHeadCode": $('#cycleCountHeadCode').val() };
553 postInner(url, data); 553 postInner(url, data);
554 }); 554 });
555 }*/ 555 }*/
@@ -560,7 +560,7 @@ @@ -560,7 +560,7 @@
560 function createCyclecountWithGapQty() { 560 function createCyclecountWithGapQty() {
561 $.modal.confirm("确认进行差异复盘么?该操作会将有差异的明细重新生成一个新的盘点单。", function() { 561 $.modal.confirm("确认进行差异复盘么?该操作会将有差异的明细重新生成一个新的盘点单。", function() {
562 var url = prefix + "/createCyclecountWithGapQty"; 562 var url = prefix + "/createCyclecountWithGapQty";
563 - var data = { "cycleCountHeadId": $('#cycleCountHeadId').val() }; 563 + var data = { "cycleCountHeadCode": $('#cycleCountHeadCode').val() };
564 postInner(url, data); 564 postInner(url, data);
565 }); 565 });
566 } 566 }
@@ -569,7 +569,7 @@ @@ -569,7 +569,7 @@
569 /* function adjust() { 569 /* function adjust() {
570 $.modal.confirm("注意:该操作将更改库存,当实盘数量为0且库位上只剩空容器时,请手动执行空托出库任务,容器上有货则无需其他操作!", function() { 570 $.modal.confirm("注意:该操作将更改库存,当实盘数量为0且库位上只剩空容器时,请手动执行空托出库任务,容器上有货则无需其他操作!", function() {
571 var url = prefix + "/adjust"; 571 var url = prefix + "/adjust";
572 - var data = { "cycleCountHeadId": $('#cycleCountHeadId').val() }; 572 + var data = { "cycleCountHeadCode": $('#cycleCountHeadCode').val() };
573 postInner(url,data); 573 postInner(url,data);
574 }); 574 });
575 }*/ 575 }*/
@@ -603,7 +603,7 @@ @@ -603,7 +603,7 @@
603 function outcheckAll() { 603 function outcheckAll() {
604 $.modal.confirm("确认进行盘点任务生成么?注意,这将会使未生成盘点任务的明细生成盘点任务!", function() { 604 $.modal.confirm("确认进行盘点任务生成么?注意,这将会使未生成盘点任务的明细生成盘点任务!", function() {
605 var url = prefix + "/createCycleCountTaskByHeadId"; 605 var url = prefix + "/createCycleCountTaskByHeadId";
606 - var data = { "cycleCountHeadId": $('#cycleCountHeadId').val() }; 606 + var data = { "cycleCountHeadCode": $('#cycleCountHeadCode').val() };
607 postInner(url,data); 607 postInner(url,data);
608 }); 608 });
609 } 609 }
src/main/resources/templates/task/taskHeader/taskHeader.html
@@ -156,9 +156,9 @@ @@ -156,9 +156,9 @@
156 sortable: true 156 sortable: true
157 }, 157 },
158 { 158 {
159 - field : 'companyId',  
160 - title : '货主id' ,  
161 - visible:false 159 + field : 'companyCode',
  160 + title : '货主编码',
  161 + visible:true
162 }, 162 },
163 { 163 {
164 field : 'taskType', 164 field : 'taskType',