Commit 4d82933e329bc12358609a014c54fae97a4d17ca
Merge branch 'develop' of http://172.16.29.40:8010/wms/wms2 into develop
Showing
12 changed files
with
248 additions
and
117 deletions
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<CycleCountDetailMap | @@ -53,9 +53,12 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<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<CycleCountDetailMap | @@ -67,7 +70,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<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<CycleCountDetailMap | @@ -83,13 +86,13 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<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<CycleCountDetailMap | @@ -107,7 +110,9 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<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<CycleCountDetailMap | @@ -115,19 +120,21 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<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<CycleCountDetailMap | @@ -139,7 +146,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<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<CycleCountDetailMap | @@ -184,11 +191,10 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<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<CycleCountDetailMap | @@ -207,6 +213,16 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<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<CycleCountDetailMap | @@ -225,7 +241,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<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<CycleCountHeaderMap | @@ -88,7 +88,7 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<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<CycleCountHeaderMap | @@ -128,7 +128,7 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<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<CycleCountHeaderMap | @@ -167,7 +167,6 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<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<TaskHeaderMapper, TaskHea | @@ -87,8 +90,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<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<TaskHeaderMapper, TaskHea | @@ -104,11 +107,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<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<TaskHeaderMapper, TaskHea | @@ -120,6 +121,17 @@ public class TaskHeaderServiceImpl extends ServiceImpl<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<TaskHeaderMapper, TaskHea | @@ -142,13 +154,28 @@ public class TaskHeaderServiceImpl extends ServiceImpl<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<TaskHeaderMapper, TaskHea | @@ -682,7 +709,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<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<TaskHeaderMapper, TaskHea | @@ -899,13 +926,14 @@ public class TaskHeaderServiceImpl extends ServiceImpl<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<TaskHeaderMapper, TaskHea | @@ -1061,11 +1089,6 @@ public class TaskHeaderServiceImpl extends ServiceImpl<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<TaskHeaderMapper, TaskHea | @@ -1216,4 +1239,19 @@ public class TaskHeaderServiceImpl extends ServiceImpl<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 | + 批 次:<input type="text" name="batch"/> | ||
65 | + </li> | ||
66 | + <li> | ||
67 | + 批 号:<input type="text" name="lot"/> | ||
68 | + </li> | ||
33 | 69 | ||
34 | - <li> | ||
35 | - 供 应 商:<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 | - 项 目 号:<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> 搜索</a> | 79 | <a id="search" class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</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> 导出</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> 导出</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', |