Browse Source

Merge remote-tracking branch 'origin/master'

master
fanzongzhe0036 4 months ago
parent
commit
9c7b3dfa73
  1. 34
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow3/Flow3Feign.java
  2. 12
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow3/Flow3Feignback.java
  3. 6
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow3/Flow3Rest.java
  4. 25
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow3/Flow3Service.java
  5. 11
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java
  6. 11
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java
  7. 10
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java
  8. 10
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeignFallback.java
  9. 4
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java
  10. 22
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml
  11. 14
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java
  12. 150
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java
  13. 4
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java
  14. 28
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml
  15. 14
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java
  16. 177
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java
  17. 9
      anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatecheck.js
  18. 9
      anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatemanagement.js
  19. 11
      anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatecheck.js
  20. 9
      anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatemanagement.js
  21. 41
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatetobechecked.vue
  22. 9
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue
  23. 41
      anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatecheck/specialrebatetobechecked.vue
  24. 9
      anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatemanagement/specialrebatemanagement.vue
  25. 23
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeDto.java
  26. 34
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeFeign.java
  27. 24
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeScanVo.java
  28. 30
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/firstshelves/AppFirstShelvesService.java
  29. 53
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeRest.java
  30. 207
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeService.java
  31. 66
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventory.java
  32. 10
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventoryFeign.java
  33. 24
      yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow3/Flow3Feign.java
  34. 13
      yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsH5Rest.java
  35. 30
      yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java
  36. 33
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java
  37. 475
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml
  38. 101
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java
  39. 48
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoListVo.java
  40. 28
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoQuery.java
  41. 41
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoVo.java

34
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow3/Flow3Feign.java

@ -0,0 +1,34 @@
package com.yxt.anrui.flowable.api.flow3;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flow2.FlowFeignback;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @description:
* @author: dimengzhe
* @date: 2025/2/12
**/
@FeignClient(
contextId = "anrui-flowable-Flow3",
name = "anrui-flowable",
path = "v3/flow",
fallback = Flow3Feignback.class)
public interface Flow3Feign {
@ApiOperation(value = "启动流程")
@PostMapping(value = "/startProcess")
@ResponseBody
ResultBean<UpdateFlowFieldVo> startProcess(@RequestBody BusinessVariables dto);
@ApiOperation(value = "处理流程")
@PostMapping(value = "/handleProsess")
@ResponseBody
ResultBean<UpdateFlowFieldVo> handleProsess(@RequestBody BusinessVariables bv);
}

12
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow3/Flow3Feignback.java

@ -0,0 +1,12 @@
package com.yxt.anrui.flowable.api.flow3;
import org.springframework.stereotype.Component;
/**
* @description:
* @author: dimengzhe
* @date: 2025/2/12
**/
@Component
public class Flow3Feignback {
}

6
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow3/Flow3Rest.java

@ -3,6 +3,8 @@ package com.yxt.anrui.flowable.biz.flow3;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flow2.FlowFeign;
import com.yxt.anrui.flowable.api.flow3.Flow3Feign;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.base.utils.StringUtils; import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
@ -26,13 +28,14 @@ import java.util.concurrent.*;
**/ **/
@RestController @RestController
@RequestMapping("v3/flow") @RequestMapping("v3/flow")
public class Flow3Rest { public class Flow3Rest implements Flow3Feign {
Logger log = LoggerFactory.getLogger(Flow3Rest.class); Logger log = LoggerFactory.getLogger(Flow3Rest.class);
@Autowired @Autowired
private Flow3Service flowService; private Flow3Service flowService;
@PostMapping("/startProcess") @PostMapping("/startProcess")
@Override
public ResultBean<UpdateFlowFieldVo> startProcess(@RequestBody BusinessVariables bv) { public ResultBean<UpdateFlowFieldVo> startProcess(@RequestBody BusinessVariables bv) {
ResultBean<UpdateFlowFieldVo> rb = ResultBean.fireFail(); ResultBean<UpdateFlowFieldVo> rb = ResultBean.fireFail();
//获取表单中的参数 //获取表单中的参数
@ -54,6 +57,7 @@ public class Flow3Rest {
} }
@PostMapping("/handleProsess") @PostMapping("/handleProsess")
@Override
public ResultBean<UpdateFlowFieldVo> handleProsess(@RequestBody BusinessVariables bv) { public ResultBean<UpdateFlowFieldVo> handleProsess(@RequestBody BusinessVariables bv) {
ResultBean<UpdateFlowFieldVo> rb = ResultBean.fireFail(); ResultBean<UpdateFlowFieldVo> rb = ResultBean.fireFail();
ResultBean<UpdateFlowFieldVo> updateFlowFieldVoResultBean = flowService.handleProsess(bv, true); ResultBean<UpdateFlowFieldVo> updateFlowFieldVoResultBean = flowService.handleProsess(bv, true);

25
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow3/Flow3Service.java

@ -106,13 +106,11 @@ public class Flow3Service extends MybatisBaseService<FlowMapper, Flowable> {
// 获取传入的变量 // 获取传入的变量
Map<String, Object> variables = bv.getFormVariables(); Map<String, Object> variables = bv.getFormVariables();
Map<String, Object> variablesSeconds = bv.getFormVariables(); Map<String, Object> variablesSeconds = bv.getFormVariables();
String nextNodeUserSids = ""; String nextNodeUserSids = bv.getNextNodeUserSids();
List<String> userSidForNextNode = new ArrayList<>(); List<String> userSidForNextNode = new ArrayList<>();
if (StringUtils.isBlank(nextNodeUserSids)) { if (StringUtils.isBlank(nextNodeUserSids)) {
userSidForNextNode = getNextNodeUser(bv).getData(); userSidForNextNode = getNextNodeUser(bv).getData();
variables.put("approvers", userSidForNextNode); variables.put("approvers", userSidForNextNode);
} else {
nextNodeUserSids = bv.getNextNodeUserSids();
} }
@ -155,21 +153,30 @@ public class Flow3Service extends MybatisBaseService<FlowMapper, Flowable> {
for (int i = 0; i < tasks.size(); i++) { for (int i = 0; i < tasks.size(); i++) {
Task task2 = tasks.get(i); Task task2 = tasks.get(i);
String isMultiInstanceTask = isMultiInstanceTask(task2); String isMultiInstanceTask = isMultiInstanceTask(task2);
id_ = task2.getId();
task_def_key_ = task2.getTaskDefinitionKey();
name_ = task2.getName();
if ("会签任务".equals(isMultiInstanceTask) || "或签任务".equals(isMultiInstanceTask)) { if ("会签任务".equals(isMultiInstanceTask) || "或签任务".equals(isMultiInstanceTask)) {
String approver = getApproverForTask(userSidForNextNode, i); String approver = getApproverForTask(userSidForNextNode, i);
approver = change(approver, bv.getInstanceId());
taskService.claim(task2.getId(), approver); taskService.claim(task2.getId(), approver);
} else { } else {
nextNodeUserSids = userSidForNextNode.get(0); nextNodeUserSids = userSidForNextNode.get(0);
//查询下一环节是否有转办并添加评论
nextNodeUserSids = change(nextNodeUserSids, processInstance.getProcessInstanceId());
taskService.setAssignee(id_, nextNodeUserSids);
taskService.setVariablesLocal(id_, variables);
} }
id_ = task2.getId();
task_def_key_ = task2.getTaskDefinitionKey();
name_ = task2.getName();
} }
} else { } else {
Task task2 = tasks.get(0); Task task2 = tasks.get(0);
id_ = task2.getId(); id_ = task2.getId();
task_def_key_ = task2.getTaskDefinitionKey(); task_def_key_ = task2.getTaskDefinitionKey();
name_ = task2.getName(); name_ = task2.getName();
//查询下一环节是否有转办并添加评论
nextNodeUserSids = change(nextNodeUserSids, processInstance.getProcessInstanceId());
taskService.setAssignee(id_, nextNodeUserSids);
taskService.setVariablesLocal(id_, variables);
} }
//提交前传入下一环节待办人 //提交前传入下一环节待办人
@ -234,7 +241,7 @@ public class Flow3Service extends MybatisBaseService<FlowMapper, Flowable> {
nextUserSid = ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId(); nextUserSid = ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId();
adminContains = true; adminContains = true;
} else { } else {
if(!listResultBean.getData().isEmpty()){ if(listResultBean.getData() != null){
userSidForNextNode = listResultBean.getData(); userSidForNextNode = listResultBean.getData();
formVariables.put("approvers", listResultBean.getData()); formVariables.put("approvers", listResultBean.getData());
} }
@ -277,7 +284,9 @@ public class Flow3Service extends MybatisBaseService<FlowMapper, Flowable> {
Task task2 = tasks.get(i); Task task2 = tasks.get(i);
isMultiInstanceTask = isMultiInstanceTask(task2); isMultiInstanceTask = isMultiInstanceTask(task2);
if ("会签任务".equals(isMultiInstanceTask) || "或签任务".equals(isMultiInstanceTask)) { if ("会签任务".equals(isMultiInstanceTask) || "或签任务".equals(isMultiInstanceTask)) {
taskService.claim(task2.getId(), userSidForNextNode.get(i)); // 由候选人认领任务 String nextUserSidNext = userSidForNextNode.get(i);
nextUserSidNext = change(nextUserSidNext, bv.getInstanceId());
taskService.claim(task2.getId(), nextUserSidNext); // 由候选人认领任务
isMultiInstanceTaskNext = true; isMultiInstanceTaskNext = true;
} else { } else {

11
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java

@ -37,6 +37,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.text.ParseException; import java.text.ParseException;
import java.util.List;
@Api(tags = "专项返利表") @Api(tags = "专项返利表")
@FeignClient( @FeignClient(
@ -51,6 +52,11 @@ public interface ScmSpecialRebateFeign {
@ResponseBody @ResponseBody
public ResultBean<PagerVo<ScmSpecialRebateVo>> listPage(@RequestBody PagerQuery<ScmSpecialRebateQuery> pq); public ResultBean<PagerVo<ScmSpecialRebateVo>> listPage(@RequestBody PagerQuery<ScmSpecialRebateQuery> pq);
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listAll")
@ResponseBody
public ResultBean<List<ScmSpecialRebateVo>> listAll(@RequestBody ScmSpecialRebateQuery query);
@ApiOperation("新增或修改") @ApiOperation("新增或修改")
@PostMapping("/save") @PostMapping("/save")
@ResponseBody @ResponseBody
@ -81,6 +87,11 @@ public interface ScmSpecialRebateFeign {
@ResponseBody @ResponseBody
public ResultBean<PagerVo<ScmSpecialRebateVo>> checkApplyGetSpecialRebate(@RequestBody PagerQuery<ScmSpecialRebateQuery> pq); public ResultBean<PagerVo<ScmSpecialRebateVo>> checkApplyGetSpecialRebate(@RequestBody PagerQuery<ScmSpecialRebateQuery> pq);
@ApiOperation("专项返利核对申请选择待核对专项返利信息")
@PostMapping("/checkApplyGetSpecialRebateAll")
@ResponseBody
public ResultBean<List<ScmSpecialRebateVo>> checkApplyGetSpecialRebateAll(@RequestBody ScmSpecialRebateQuery query);
@ApiOperation("专项返利核对申请选择已上传专项返利信息") @ApiOperation("专项返利核对申请选择已上传专项返利信息")
@PostMapping("/checkApplyGetAlreadyUploadSpecialRebate") @PostMapping("/checkApplyGetAlreadyUploadSpecialRebate")
@ResponseBody @ResponseBody

11
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java

@ -34,6 +34,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.text.ParseException; import java.text.ParseException;
import java.util.List;
/** /**
* Project: anrui-scm(专项返利管理) <br/> * Project: anrui-scm(专项返利管理) <br/>
@ -57,6 +58,11 @@ public class ScmSpecialRebateFeignFallback implements ScmSpecialRebateFeign {
return rb.setMsg("接口anrui-scm/scmspecialrebate/listPage无法访问"); return rb.setMsg("接口anrui-scm/scmspecialrebate/listPage无法访问");
} }
@Override
public ResultBean<List<ScmSpecialRebateVo>> listAll(ScmSpecialRebateQuery query) {
return null;
}
@Override @Override
public ResultBean save(ScmSpecialRebateDto dto){ public ResultBean save(ScmSpecialRebateDto dto){
return ResultBean.fireFail().setMsg("接口anrui-scm/scmspecialrebate/save无法访问"); return ResultBean.fireFail().setMsg("接口anrui-scm/scmspecialrebate/save无法访问");
@ -88,6 +94,11 @@ public class ScmSpecialRebateFeignFallback implements ScmSpecialRebateFeign {
return null; return null;
} }
@Override
public ResultBean<List<ScmSpecialRebateVo>> checkApplyGetSpecialRebateAll(ScmSpecialRebateQuery query) {
return null;
}
@Override @Override
public ResultBean<PagerVo<ScmSpecialRebateVo>> checkApplyGetAlreadyUploadSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) { public ResultBean<PagerVo<ScmSpecialRebateVo>> checkApplyGetAlreadyUploadSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
return null; return null;

10
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java

@ -67,6 +67,11 @@ public interface ScmVehRebateFeign {
@ResponseBody @ResponseBody
public ResultBean<PagerVo<ScmVehRebateVo>> listPage(@RequestBody PagerQuery<ScmVehRebateQuery> pq); public ResultBean<PagerVo<ScmVehRebateVo>> listPage(@RequestBody PagerQuery<ScmVehRebateQuery> pq);
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listAll")
@ResponseBody
public ResultBean<List<ScmVehRebateVo>> listAll(@RequestBody ScmVehRebateQuery query);
@ApiOperation("单车返利未预提申请选择单车返利信息") @ApiOperation("单车返利未预提申请选择单车返利信息")
@PostMapping("/withApplyGetVehRebate") @PostMapping("/withApplyGetVehRebate")
@ResponseBody @ResponseBody
@ -77,6 +82,11 @@ public interface ScmVehRebateFeign {
@ResponseBody @ResponseBody
public ResultBean<PagerVo<ScmVehRebateVo>> checkApplyGetVehRebate(@RequestBody PagerQuery<ScmVehRebateQuery> pq); public ResultBean<PagerVo<ScmVehRebateVo>> checkApplyGetVehRebate(@RequestBody PagerQuery<ScmVehRebateQuery> pq);
@ApiOperation("单车返利核对申请选择待核对单车返利信息")
@PostMapping("/checkApplyGetVehRebateAll")
@ResponseBody
public ResultBean<List<ScmVehRebateVo>> checkApplyGetVehRebateAll(@RequestBody ScmVehRebateQuery query);
@ApiOperation("一次导出") @ApiOperation("一次导出")
@PostMapping("/excelListOne") @PostMapping("/excelListOne")
public void excelListOne(@RequestBody ScmVehRebateQuery scmVehRebateQuery); public void excelListOne(@RequestBody ScmVehRebateQuery scmVehRebateQuery);

10
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeignFallback.java

@ -58,6 +58,11 @@ public class ScmVehRebateFeignFallback implements ScmVehRebateFeign {
return rb.setMsg("接口anrui-scm/scmvehrebate/listPage无法访问"); return rb.setMsg("接口anrui-scm/scmvehrebate/listPage无法访问");
} }
@Override
public ResultBean<List<ScmVehRebateVo>> listAll(ScmVehRebateQuery query) {
return null;
}
@Override @Override
public ResultBean<PagerVo<ScmVehRebateVo>> withApplyGetVehRebate(PagerQuery<ScmVehRebateQuery> pq) { public ResultBean<PagerVo<ScmVehRebateVo>> withApplyGetVehRebate(PagerQuery<ScmVehRebateQuery> pq) {
return null; return null;
@ -68,6 +73,11 @@ public class ScmVehRebateFeignFallback implements ScmVehRebateFeign {
return null; return null;
} }
@Override
public ResultBean<List<ScmVehRebateVo>> checkApplyGetVehRebateAll(ScmVehRebateQuery query) {
return null;
}
@Override @Override
public void excelListOne(ScmVehRebateQuery scmVehRebateQuery) { public void excelListOne(ScmVehRebateQuery scmVehRebateQuery) {

4
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java

@ -85,4 +85,8 @@ public interface ScmSpecialRebateMapper extends BaseMapper<ScmSpecialRebate> {
void updateAdjustmentState(@Param("sid") String sid, @Param("adjustmentState") int adjustmentState); void updateAdjustmentState(@Param("sid") String sid, @Param("adjustmentState") int adjustmentState);
List<ScmSpecialRebateExcelVo> excelList(@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw); List<ScmSpecialRebateExcelVo> excelList(@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
List<ScmSpecialRebateVo> checkApplyGetSpecialRebateAll(@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
List<ScmSpecialRebateVo> listAll(@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
} }

22
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml

@ -151,4 +151,26 @@
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
</select> </select>
<select id="checkApplyGetSpecialRebateAll" resultType="com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateVo">
SELECT *,
expectItureCost + expectTreatCost + expectSuppCost AS expectCost,
expectItureCost + expectTreatCost + expectSuppCost AS withholdCost,
onceItureCost + onceTreatCost + onceSuppCost + secondItureCost + secondTreatCost + secondSuppCost AS money
FROM scm_special_rebate
<where>
${ew.sqlSegment}
</where>
</select>
<select id="listAll" resultType="com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateVo">
SELECT *,
expectItureCost + expectTreatCost + expectSuppCost AS expectCost,
expectItureCost + expectTreatCost + expectSuppCost AS withholdCost,
onceItureCost + onceTreatCost + onceSuppCost + secondItureCost + secondTreatCost + secondSuppCost AS money
FROM scm_special_rebate
<where>
${ew.sqlSegment}
</where>
</select>
</mapper> </mapper>

14
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java

@ -73,6 +73,13 @@ public class ScmSpecialRebateRest implements ScmSpecialRebateFeign {
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@Override
public ResultBean<List<ScmSpecialRebateVo>> listAll(ScmSpecialRebateQuery query) {
ResultBean rb = ResultBean.fireFail();
List<ScmSpecialRebateVo> scmSpecialRebateVoList = scmSpecialRebateService.listAll(query);
return rb.success().setData(scmSpecialRebateVoList);
}
@ApiOperation("导出") @ApiOperation("导出")
@PostMapping("/excelList") @PostMapping("/excelList")
public void excelList(@RequestBody ScmSpecialRebateQuery query) { public void excelList(@RequestBody ScmSpecialRebateQuery query) {
@ -147,6 +154,13 @@ public class ScmSpecialRebateRest implements ScmSpecialRebateFeign {
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@Override
public ResultBean<List<ScmSpecialRebateVo>> checkApplyGetSpecialRebateAll(ScmSpecialRebateQuery query) {
ResultBean rb = ResultBean.fireFail();
List<ScmSpecialRebateVo> scmSpecialRebateVoList = scmSpecialRebateService.checkApplyGetSpecialRebateAll(query);
return rb.success().setData(scmSpecialRebateVoList);
}
@Override @Override
public ResultBean<PagerVo<ScmSpecialRebateVo>> checkApplyGetAlreadyUploadSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) { public ResultBean<PagerVo<ScmSpecialRebateVo>> checkApplyGetAlreadyUploadSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();

150
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java

@ -150,6 +150,76 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
return p; return p;
} }
public List<ScmSpecialRebateVo> listAll(ScmSpecialRebateQuery query) {
QueryWrapper<ScmSpecialRebate> qw = new QueryWrapper<>();
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl())) {
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setMenuSid(query.getMenuSid());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("orgPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("orgPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("orgPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("orgPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("createBySid", query.getUserSid());
} else {
List<ScmSpecialRebateVo> p = new ArrayList<>();
return p;
}
} else {
List<ScmSpecialRebateVo> p = new ArrayList<>();
return p;
}
}
if (StringUtils.isNotBlank(query.getCreateOrgName())) {
qw.like("createOrgName", query.getCreateOrgName());
}
if (StringUtils.isNotBlank(query.getBrandName())) {
qw.like("brandName", query.getBrandName());
}
if (StringUtils.isNotBlank(query.getPurchaseSystemName())) {
qw.like("purchaseSystemName", query.getPurchaseSystemName());
}
if (StringUtils.isNotBlank(query.getRebateTypeKey())) {
qw.eq("rebateTypeKey", query.getRebateTypeKey());
}
if (StringUtils.isNotBlank(query.getRebateName())) {
qw.like("rebateName", query.getRebateName());
}
if (StringUtils.isNotBlank(query.getState())) {
qw.eq("state", query.getState());
}
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.orderByDesc("createTime");
List<ScmSpecialRebateVo> scmSpecialRebateVoList = baseMapper.listAll(qw);
return scmSpecialRebateVoList;
}
public ResultBean saveOrUpdateDto(ScmSpecialRebateDto dto) { public ResultBean saveOrUpdateDto(ScmSpecialRebateDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid(); String dtoSid = dto.getSid();
@ -318,6 +388,86 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
return p; return p;
} }
public List<ScmSpecialRebateVo> checkApplyGetSpecialRebateAll(ScmSpecialRebateQuery query) {
QueryWrapper<ScmSpecialRebate> qw = new QueryWrapper<>();
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl())) {
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setMenuSid(query.getMenuSid());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("orgPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("orgPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("orgPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("orgPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("createBySid", query.getUserSid());
} else {
List<ScmSpecialRebateVo> p = new ArrayList<>();
return p;
}
} else {
List<ScmSpecialRebateVo> p = new ArrayList<>();
return p;
}
}
if (StringUtils.isNotBlank(query.getCreateOrgName())) {
qw.like("createOrgName", query.getCreateOrgName());
}
if (StringUtils.isNotBlank(query.getBrandName())) {
qw.like("brandName", query.getBrandName());
}
if (StringUtils.isNotBlank(query.getPurchaseSystemName())) {
qw.like("purchaseSystemName", query.getPurchaseSystemName());
}
if (StringUtils.isNotBlank(query.getRebateTypeKey())) {
qw.eq("rebateTypeKey", query.getRebateTypeKey());
}
if (StringUtils.isNotBlank(query.getRebateName())) {
qw.like("rebateName", query.getRebateName());
}
if (StringUtils.isNotBlank(query.getOnceCheckState())) {
qw.eq("onceCheckState", query.getOnceCheckState());
}
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.eq("state", 2);
qw.eq("adjustmentState", 0);
qw.orderByDesc("createTime");
List<ScmSpecialRebateVo> scmSpecialRebateVoList = baseMapper.checkApplyGetSpecialRebateAll(qw);
for (ScmSpecialRebateVo record : scmSpecialRebateVoList) {
//上传状态:未上传
if (StringUtils.isBlank(record.getUploadDate())) {
record.setUploadState("0");
} else {//上传状态:已上传
record.setUploadState("1");
}
}
return scmSpecialRebateVoList;
}
public PagerVo<ScmSpecialRebateVo> checkApplyGetAlreadyUploadSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) { public PagerVo<ScmSpecialRebateVo> checkApplyGetAlreadyUploadSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
ScmSpecialRebateQuery query = pq.getParams(); ScmSpecialRebateQuery query = pq.getParams();
QueryWrapper<ScmSpecialRebate> qw = new QueryWrapper<>(); QueryWrapper<ScmSpecialRebate> qw = new QueryWrapper<>();

4
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java

@ -83,4 +83,8 @@ public interface ScmVehRebateMapper extends BaseMapper<ScmVehRebate> {
void delByVehSid(String vehSid); void delByVehSid(String vehSid);
List<ScmVehRebateExcelVo> excelList(@Param(Constants.WRAPPER) QueryWrapper<ScmVehRebate> qw); List<ScmVehRebateExcelVo> excelList(@Param(Constants.WRAPPER) QueryWrapper<ScmVehRebate> qw);
List<ScmVehRebateVo> checkApplyGetVehRebateAll(@Param(Constants.WRAPPER) QueryWrapper<ScmVehRebate> qw);
List<ScmVehRebateVo> listAll(@Param(Constants.WRAPPER) QueryWrapper<ScmVehRebate> qw);
} }

28
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml

@ -131,4 +131,32 @@
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
</select> </select>
<select id="checkApplyGetVehRebateAll" resultType="com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateVo">
SELECT
*,
sid AS vehRebateSid,
expectTreatCost + expectSuppCost AS expectCost,
expectTreatCost + expectSuppCost AS withholdCost,
onceTreatCost + onceSuppCost + secondTreatCost + secondSuppCost AS money
FROM
scm_veh_rebate
<where>
${ew.sqlSegment}
</where>
</select>
<select id="listAll" resultType="com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateVo">
SELECT
*,
sid AS vehRebateSid,
expectTreatCost + expectSuppCost AS expectCost,
expectTreatCost + expectSuppCost AS withholdCost,
onceTreatCost + onceSuppCost + secondTreatCost + secondSuppCost AS money
FROM
scm_veh_rebate
<where>
${ew.sqlSegment}
</where>
</select>
</mapper> </mapper>

14
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java

@ -79,6 +79,13 @@ public class ScmVehRebateRest implements ScmVehRebateFeign {
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@Override
public ResultBean<List<ScmVehRebateVo>> listAll(ScmVehRebateQuery query) {
ResultBean rb = ResultBean.fireFail();
List<ScmVehRebateVo> scmVehRebateVoList = scmVehRebateService.listAll(query);
return rb.success().setData(scmVehRebateVoList);
}
@ApiOperation("导出") @ApiOperation("导出")
@PostMapping("/excelList") @PostMapping("/excelList")
public void excelList(@RequestBody ScmVehRebateQuery query) { public void excelList(@RequestBody ScmVehRebateQuery query) {
@ -109,6 +116,13 @@ public class ScmVehRebateRest implements ScmVehRebateFeign {
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@Override
public ResultBean<List<ScmVehRebateVo>> checkApplyGetVehRebateAll(ScmVehRebateQuery query) {
ResultBean rb = ResultBean.fireFail();
List<ScmVehRebateVo> scmVehRebateVoList = scmVehRebateService.checkApplyGetVehRebateAll(query);
return rb.success().setData(scmVehRebateVoList);
}
@Override @Override
public void excelListOne(ScmVehRebateQuery scmVehRebateQuery) { public void excelListOne(ScmVehRebateQuery scmVehRebateQuery) {
//得到所有要导出的数据 //得到所有要导出的数据

177
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java

@ -66,19 +66,6 @@ import java.net.URLEncoder;
import java.util.*; import java.util.*;
import java.util.regex.Pattern; import java.util.regex.Pattern;
/**
* Project: anrui-scm(单车返利) <br/>
* File: ScmVehRebateService.java <br/>
* Class: com.yxt.anrui.scm.biz.scmvehrebate.ScmVehRebateService <br/>
* Description: 单车返利表 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-08-24 09:01:54 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service @Service
public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, ScmVehRebate> { public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, ScmVehRebate> {
@ -179,6 +166,87 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
return p; return p;
} }
public List<ScmVehRebateVo> listAll(ScmVehRebateQuery query) {
QueryWrapper<ScmVehRebate> qw = new QueryWrapper<>();
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl())) {
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setMenuSid(query.getMenuSid());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("orgPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("orgPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("orgPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("orgPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("createBySid", query.getUserSid());
} else {
List<ScmVehRebateVo> p = new ArrayList<>();
return p;
}
} else {
List<ScmVehRebateVo> p = new ArrayList<>();
return p;
}
}
if (StringUtils.isNotBlank(query.getBrandName())) {
qw.like("brandName", query.getBrandName());
}
if (StringUtils.isNotBlank(query.getVehModelName())) {
qw.like("vehModelName", query.getVehModelName());
}
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("vinNo", query.getVinNo());
}
if (StringUtils.isNotBlank(query.getRebateTypeKey())) {
qw.eq("rebateTypeKey", query.getRebateTypeKey());
}
if (StringUtils.isNotBlank(query.getRebateName())) {
qw.like("rebateName", query.getRebateName());
}
if (StringUtils.isNotBlank(query.getState())) {
qw.eq("state", query.getState());
}
if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("useOrgName", query.getUseOrgName());
}
if (StringUtils.isNotBlank(query.getPurchaseSystemName())) {
qw.like("purchaseSystemName", query.getPurchaseSystemName());
}
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.orderByDesc("createTime");
List<ScmVehRebateVo> scmVehRebateVoList = baseMapper.listAll(qw);
for (ScmVehRebateVo record : scmVehRebateVoList) {
if ("001".equals(record.getCalculationModeKey())){
record.setCalculationStandard(record.getCalculationStandard() + "%");
}
}
return scmVehRebateVoList;
}
public PagerVo<ScmVehRebateVo> withApplyGetVehRebate(PagerQuery<ScmVehRebateQuery> pq) { public PagerVo<ScmVehRebateVo> withApplyGetVehRebate(PagerQuery<ScmVehRebateQuery> pq) {
ScmVehRebateQuery query = pq.getParams(); ScmVehRebateQuery query = pq.getParams();
QueryWrapper<ScmVehRebate> qw = new QueryWrapper<>(); QueryWrapper<ScmVehRebate> qw = new QueryWrapper<>();
@ -302,6 +370,89 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
return p; return p;
} }
public List<ScmVehRebateVo> checkApplyGetVehRebateAll(ScmVehRebateQuery query) {
QueryWrapper<ScmVehRebate> qw = new QueryWrapper<>();
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl())) {
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setMenuSid(query.getMenuSid());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("orgPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("orgPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("orgPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("orgPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("createBySid", query.getUserSid());
} else {
List<ScmVehRebateVo> p = new ArrayList<>();
return p;
}
} else {
List<ScmVehRebateVo> p = new ArrayList<>();
return p;
}
}
if (StringUtils.isNotBlank(query.getBrandName())) {
qw.like("brandName", query.getBrandName());
}
if (StringUtils.isNotBlank(query.getVehModelName())) {
qw.like("vehModelName", query.getVehModelName());
}
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("vinNo", query.getVinNo());
}
if (StringUtils.isNotBlank(query.getRebateTypeValue())) {
qw.like("rebateTypeValue", query.getRebateTypeValue());
}
if (StringUtils.isNotBlank(query.getRebateName())) {
qw.like("rebateName", query.getRebateName());
}
if (StringUtils.isNotBlank(query.getPurchaseSystemName())) {
qw.like("purchaseSystemName", query.getPurchaseSystemName());
}
if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("useOrgName", query.getUseOrgName());
}
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.eq("state", 2);
qw.eq("adjustmentState", 0);
qw.orderByDesc("createTime");
List<ScmVehRebateVo> scmVehRebateVoList = baseMapper.checkApplyGetVehRebateAll(qw);
for (ScmVehRebateVo record : scmVehRebateVoList) {
//上传状态:未上传
if (StringUtils.isBlank(record.getUploadDate())) {
record.setUploadState("0");
} else {//上传状态:已上传
record.setUploadState("1");
}
}
return scmVehRebateVoList;
}
public List<OneExcelVo> excelListOne(ScmVehRebateQuery query) { public List<OneExcelVo> excelListOne(ScmVehRebateQuery query) {
QueryWrapper<ScmVehRebate> qw = new QueryWrapper<>(); QueryWrapper<ScmVehRebate> qw = new QueryWrapper<>();
//========================================数据授权开始 //========================================数据授权开始

9
anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatecheck.js

@ -10,6 +10,15 @@ export default {
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
}, },
// 单车返利核对(待核对)查询不分页数据
checkApplyGetVehRebateAll: function(data) {
return request({
url: '/scm/v1/scmvehrebate/checkApplyGetVehRebateAll',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
// 一次导出 // 一次导出
excelListOne: function(data) { excelListOne: function(data) {
return request({ return request({

9
anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatemanagement.js

@ -10,6 +10,15 @@ export default {
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
}, },
// 查询不分页
listAll: function(data) {
return request({
url: '/scm/v1/scmvehrebate/listAll',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
// 选择车辆信息--查询分页列表 // 选择车辆信息--查询分页列表
pageList: function(data) { pageList: function(data) {
return request({ return request({

11
anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatecheck.js

@ -1,7 +1,7 @@
import request from '@/utils/request' import request from '@/utils/request'
export default { export default {
// 单车返利核对(待核对)查询分页列表 // 专项返利核对(待核对)查询分页列表
listPage: function(data) { listPage: function(data) {
return request({ return request({
url: '/scm/v1/scmspecialrebate/checkApplyGetSpecialRebate', url: '/scm/v1/scmspecialrebate/checkApplyGetSpecialRebate',
@ -10,6 +10,15 @@ export default {
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
}, },
// 专项返利核对(待核对)查询不分页
checkApplyGetSpecialRebateAll: function(data) {
return request({
url: '/scm/v1/scmspecialrebate/checkApplyGetSpecialRebateAll',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
// 一次导出 // 一次导出
excelListOne: function(data) { excelListOne: function(data) {
return request({ return request({

9
anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatemanagement.js

@ -10,6 +10,15 @@ export default {
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
}, },
// 查询不分页
listAll: function(data) {
return request({
url: '/scm/v1/scmspecialrebate/listAll',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
// 删除 // 删除
delete: function(params) { delete: function(params) {
return request({ return request({

41
anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatetobechecked.vue

@ -57,8 +57,8 @@
</div> </div>
</div> </div>
<div class=""> <div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange"> <el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange" show-summary :summary-method="getSummaries">
<el-table-column fixed type="selection" align="center" width="50"/> <el-table-column fixed type="selection" align="center" width="60"/>
<el-table-column fixed label="序号" type="index" :index="indexMethod" align="center" width="80"/> <el-table-column fixed label="序号" type="index" :index="indexMethod" align="center" width="80"/>
<el-table-column label="操作" align="center" width="180"> <el-table-column label="操作" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
@ -84,8 +84,8 @@
<el-table-column prop="manufactorSettlementPrice" label="车辆入库价" align="center" width="140" /> <el-table-column prop="manufactorSettlementPrice" label="车辆入库价" align="center" width="140" />
<el-table-column prop="freight" label="其中运费" align="center" width="120" /> <el-table-column prop="freight" label="其中运费" align="center" width="120" />
<el-table-column prop="createTime" label="创建日期" align="center" width="120" /> <el-table-column prop="createTime" label="创建日期" align="center" width="120" />
<el-table-column prop="rebateName" label="返利名称" align="center" min-width="150" />
<el-table-column prop="rebateTypeValue" label="返利类型" align="center" width="120" /> <el-table-column prop="rebateTypeValue" label="返利类型" align="center" width="120" />
<el-table-column prop="rebateName" label="返利名称" align="center" min-width="150" />
<el-table-column prop="estimateRebate" label="预计返利" align="center" width="120" /> <el-table-column prop="estimateRebate" label="预计返利" align="center" width="120" />
<el-table-column prop="withholdCost" label="其中预提费用" align="center" width="140" /> <el-table-column prop="withholdCost" label="其中预提费用" align="center" width="140" />
<el-table-column prop="palceGenDate" label="所属年月" align="center" width="120" /> <el-table-column prop="palceGenDate" label="所属年月" align="center" width="120" />
@ -410,6 +410,7 @@ export default {
// ----------- // -----------
tableKey: 0, tableKey: 0,
list: [], list: [],
listAll: [],
sids: [], sids: [],
FormLoading: false, FormLoading: false,
state_list: [ state_list: [
@ -549,6 +550,13 @@ export default {
this.listQuery.total = 0 this.listQuery.total = 0
} }
}) })
req.checkApplyGetVehRebateAll(this.listQuery.params).then((res) => {
if (res.success) {
this.listAll = res.data
} else {
this.listAll = []
}
})
}, },
// //
handleFilter() { handleFilter() {
@ -783,6 +791,33 @@ export default {
this.uploadData.orgPath = '' this.uploadData.orgPath = ''
this.getList() this.getList()
} }
},
//
getSummaries(param) {
param.data = this.listAll
const { columns, data } = param
const sums = []
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = '合计'
return
}
const values = data.map(item => Number(item[column.property]))
if (column.property === 'manufactorSettlementPrice' || column.property === 'freight' || column.property === 'estimateRebate' || column.property === 'expectCost' || column.property === 'uploadMoney' || column.property === 'secondaryUploadMoney' || column.property === 'stayDetermineMoney' || column.property === 'money' || column.property === 'diffAmount' || column.property === 'adjustmentMoney') {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr)
if (!isNaN(value)) {
return Math.round((parseFloat(prev) + parseFloat(curr)) * 100) / 100
} else {
return Math.round((parseFloat(prev)) * 100) / 100
}
}, 0)
sums[index] += ''
} else {
sums[index] = ''
}
})
return sums
} }
} }
} }

9
anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue

@ -222,6 +222,7 @@ export default {
// ----------- // -----------
tableKey: 0, tableKey: 0,
list: [], list: [],
listAll: [],
sids: [], sids: [],
FormLoading: false, FormLoading: false,
listLoading: false, listLoading: false,
@ -361,6 +362,13 @@ export default {
this.listQuery.total = 0 this.listQuery.total = 0
} }
}) })
req.listAll(this.listQuery.params).then((res) => {
if (res.success) {
this.listAll = res.data
} else {
this.listAll = []
}
})
}, },
// //
handleFilter() { handleFilter() {
@ -515,6 +523,7 @@ export default {
}, },
// //
getSummaries(param) { getSummaries(param) {
param.data = this.listAll
const { columns, data } = param const { columns, data } = param
const sums = [] const sums = []
columns.forEach((column, index) => { columns.forEach((column, index) => {

41
anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatecheck/specialrebatetobechecked.vue

@ -56,8 +56,8 @@
</div> </div>
</div> </div>
<div class=""> <div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange"> <el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange" show-summary :summary-method="getSummaries">
<el-table-column fixed type="selection" align="center" width="50"/> <el-table-column fixed type="selection" align="center" width="60"/>
<el-table-column fixed label="序号" type="index" :index="indexMethod" align="center" width="80"/> <el-table-column fixed label="序号" type="index" :index="indexMethod" align="center" width="80"/>
<el-table-column label="操作" align="center" width="180"> <el-table-column label="操作" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
@ -79,8 +79,8 @@
<el-table-column prop="purchaseSystemName" label="采购系统" align="center" width="140" /> <el-table-column prop="purchaseSystemName" label="采购系统" align="center" width="140" />
<el-table-column prop="brandName" label="品牌" align="center" width="120" /> <el-table-column prop="brandName" label="品牌" align="center" width="120" />
<el-table-column prop="createTime" label="创建日期" align="center" width="120" /> <el-table-column prop="createTime" label="创建日期" align="center" width="120" />
<el-table-column prop="rebateName" label="返利名称" align="center" min-width="150" />
<el-table-column prop="rebateTypeValue" label="返利类型" align="center" width="120" /> <el-table-column prop="rebateTypeValue" label="返利类型" align="center" width="120" />
<el-table-column prop="rebateName" label="返利名称" align="center" min-width="150" />
<el-table-column prop="estimateRebate" label="预计返利" align="center" width="120" /> <el-table-column prop="estimateRebate" label="预计返利" align="center" width="120" />
<el-table-column prop="withholdCost" label="其中预提费用" align="center" width="140" /> <el-table-column prop="withholdCost" label="其中预提费用" align="center" width="140" />
<el-table-column prop="palceGenDate" label="所属年月" align="center" width="120" /> <el-table-column prop="palceGenDate" label="所属年月" align="center" width="120" />
@ -395,6 +395,7 @@ export default {
// ----------- // -----------
tableKey: 0, tableKey: 0,
list: [], list: [],
listAll: [],
sids: [], sids: [],
FormLoading: false, FormLoading: false,
rebateType_list: [], rebateType_list: [],
@ -546,6 +547,13 @@ export default {
this.listQuery.total = 0 this.listQuery.total = 0
} }
}) })
req.checkApplyGetSpecialRebateAll(this.listQuery.params).then((res) => {
if (res.success) {
this.listAll = res.data
} else {
this.listAll = []
}
})
}, },
// //
handleFilter() { handleFilter() {
@ -779,6 +787,33 @@ export default {
this.uploadData.orgPath = '' this.uploadData.orgPath = ''
this.getList() this.getList()
} }
},
//
getSummaries(param) {
param.data = this.listAll
const { columns, data } = param
const sums = []
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = '合计'
return
}
const values = data.map(item => Number(item[column.property]))
if (column.property === 'estimateRebate' || column.property === 'expectCost' || column.property === 'uploadMoney' || column.property === 'secondaryUploadMoney' || column.property === 'stayDetermineMoney' || column.property === 'money' || column.property === 'diffAmount' || column.property === 'adjustmentMoney') {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr)
if (!isNaN(value)) {
return Math.round((parseFloat(prev) + parseFloat(curr)) * 100) / 100
} else {
return Math.round((parseFloat(prev)) * 100) / 100
}
}, 0)
sums[index] += ''
} else {
sums[index] = ''
}
})
return sums
} }
} }
} }

9
anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatemanagement/specialrebatemanagement.vue

@ -157,6 +157,7 @@ export default {
// ----------- // -----------
tableKey: 0, tableKey: 0,
list: [], list: [],
listAll: [],
sids: [], sids: [],
FormLoading: false, FormLoading: false,
listLoading: false, listLoading: false,
@ -293,6 +294,13 @@ export default {
this.listQuery.total = 0 this.listQuery.total = 0
} }
}) })
req.listAll(this.listQuery.params).then((res) => {
if (res.success) {
this.listAll = res.data
} else {
this.listAll = []
}
})
}, },
// //
handleFilter() { handleFilter() {
@ -389,6 +397,7 @@ export default {
}, },
// //
getSummaries(param) { getSummaries(param) {
param.data = this.listAll
const { columns, data } = param const { columns, data } = param
const sums = [] const sums = []
columns.forEach((column, index) => { columns.forEach((column, index) => {

23
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeDto.java

@ -0,0 +1,23 @@
package com.yxt.anrui.terminal.api.as.storechange;
import com.yxt.anrui.terminal.api.as.firstshelves.AppFirstShelvesGoodsDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class AppStoreChangeDto implements Dto {
@ApiModelProperty("库存sid")
private String sid;
@ApiModelProperty("移位数量")
private String count;
@ApiModelProperty("移位仓库")
private String houseInfo2;
@ApiModelProperty("移位库位编码")
private String houseCode2;
@ApiModelProperty("移位仓库")
private String store;
}

34
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeFeign.java

@ -0,0 +1,34 @@
package com.yxt.anrui.terminal.api.as.storechange;
import com.yxt.anrui.terminal.api.as.firstshelves.AppFirstShelvesDto;
import com.yxt.anrui.terminal.api.as.firstshelves.AppFirstShelvesQuery;
import com.yxt.anrui.terminal.api.as.firstshelves.AppFirstShelvesScanVo;
import com.yxt.anrui.terminal.api.as.firstshelves.AppFirstShelvesVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
/**
* @Author
* @Date
* @Description
*/
@FeignClient(
contextId = "terminal-AppStoreChange",
name = "anrui-terminal",
path = "v1/storeChange")
public interface AppStoreChangeFeign {
@ApiOperation("标签扫描")
@GetMapping("/scan")
@ResponseBody
public ResultBean<AppStoreChangeScanVo> scan(@RequestParam("content") String content, @RequestParam("type") String type, @RequestParam("orgPath") String orgPath, @RequestParam(value = "storeSid", required = false) String storeSid);
@ApiOperation("保存")
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody AppStoreChangeDto dto);
}

24
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeScanVo.java

@ -0,0 +1,24 @@
package com.yxt.anrui.terminal.api.as.storechange;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class AppStoreChangeScanVo implements Vo {
@ApiModelProperty("0商品码,1库位码")
private String type;
@ApiModelProperty("商品sid")
private String sid;
@ApiModelProperty("商品下的库存表里的sid集合")
private List<String> storeSids;
@ApiModelProperty("库位码")
private String houseCode;
@ApiModelProperty("库区名+库位名")
private String houseName;
@ApiModelProperty("仓库地址")
private String houseAddress;
}

30
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/firstshelves/AppFirstShelvesService.java

@ -26,6 +26,8 @@
package com.yxt.anrui.terminal.biz.as.firstshelves; package com.yxt.anrui.terminal.biz.as.firstshelves;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.terminal.api.as.firstshelves.*; import com.yxt.anrui.terminal.api.as.firstshelves.*;
import com.yxt.anrui.terminal.fegin.wmsInventory.WmsInventoryFeign; import com.yxt.anrui.terminal.fegin.wmsInventory.WmsInventoryFeign;
@ -43,9 +45,11 @@ import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
@Service @Service
@ -61,6 +65,8 @@ public class AppFirstShelvesService {
private WmsInitialDetailFeign wmsInitialDetailFeign; private WmsInitialDetailFeign wmsInitialDetailFeign;
@Autowired @Autowired
private SysStaffOrgFeign sysStaffOrgFeign; private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
public ResultBean<AppFirstShelvesVo> list(PagerQuery<AppFirstShelvesQuery> pagerQuery) { public ResultBean<AppFirstShelvesVo> list(PagerQuery<AppFirstShelvesQuery> pagerQuery) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
@ -100,20 +106,20 @@ public class AppFirstShelvesService {
} }
String count = wmsInventoryFeign.selCountByGoodsID(content).getData(); String count = wmsInventoryFeign.selCountByGoodsID(content).getData();
BigDecimal num = null; BigDecimal num = null;
if (StringUtils.isNotBlank(count)){ if (StringUtils.isNotBlank(count)) {
num = new BigDecimal(count); num = new BigDecimal(count);
}else { } else {
num = new BigDecimal("0"); num = new BigDecimal("0");
} }
WmsGoodsTag wmsGoodsTag = wmsGoodsTagFeign.selectByGoodsId(content).getData(); WmsGoodsTag wmsGoodsTag = wmsGoodsTagFeign.selectByGoodsId(content).getData();
BigDecimal chae = wmsGoodsTag.getGoodsCount().subtract(num); BigDecimal chae = wmsGoodsTag.getGoodsCount().subtract(num);
if (chae.compareTo(BigDecimal.ZERO) == 0){ if (chae.compareTo(BigDecimal.ZERO) == 0) {
return rb.setMsg("该商品已全部入库"); return rb.setMsg("该商品已全部入库");
} }
appFirstShelvesScanVo.setType(type); appFirstShelvesScanVo.setType(type);
appFirstShelvesScanVo.setGoodsID(content); appFirstShelvesScanVo.setGoodsID(content);
appFirstShelvesScanVo.setGoodsName(wmsGoodsTag.getGoodsSkuTitle()); appFirstShelvesScanVo.setGoodsName(wmsGoodsTag.getGoodsSkuTitle());
appFirstShelvesScanVo.setGoodsMax(chae.setScale(0,BigDecimal.ROUND_DOWN).toString()); appFirstShelvesScanVo.setGoodsMax(chae.setScale(0, BigDecimal.ROUND_DOWN).toString());
} else if ("1".equals(type)) {//库位码 } else if ("1".equals(type)) {//库位码
if (!content.contains("#")) { if (!content.contains("#")) {
return rb.setMsg("请扫描库位码"); return rb.setMsg("请扫描库位码");
@ -157,9 +163,19 @@ public class AppFirstShelvesService {
List<AppFirstShelvesGoodsDto> goodsList = dto.getGoodsList(); List<AppFirstShelvesGoodsDto> goodsList = dto.getGoodsList();
WmsInventorySaveDto wmsInventorySaveDto = new WmsInventorySaveDto(); WmsInventorySaveDto wmsInventorySaveDto = new WmsInventorySaveDto();
wmsInventorySaveDto.setCreateBySid(dto.getUserSid()); wmsInventorySaveDto.setCreateBySid(dto.getUserSid());
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); String createOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
wmsInventorySaveDto.setCreateOrgSid(useOrgSid); wmsInventorySaveDto.setCreateOrgSid(createOrgSid);
wmsInventorySaveDto.setUseOrgSid(useOrgSid); String deptSid = "";
List<String> split = Arrays.asList(dto.getOrgPath().split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptSid = sysOrganization.getSid();
}
wmsInventorySaveDto.setUseOrgSid(deptSid);
wmsInventorySaveDto.setFirstInDate(DateUtil.today()); wmsInventorySaveDto.setFirstInDate(DateUtil.today());
for (AppFirstShelvesGoodsDto appFirstShelvesGoodsDto : goodsList) { for (AppFirstShelvesGoodsDto appFirstShelvesGoodsDto : goodsList) {
WmsGoodsTag wmsGoodsTag = wmsGoodsTagFeign.selectByGoodsId(appFirstShelvesGoodsDto.getGoodsID()).getData(); WmsGoodsTag wmsGoodsTag = wmsGoodsTagFeign.selectByGoodsId(appFirstShelvesGoodsDto.getGoodsID()).getData();

53
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeRest.java

@ -0,0 +1,53 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.as.storechange;
import com.yxt.anrui.terminal.api.as.firstshelves.*;
import com.yxt.anrui.terminal.api.as.storechange.AppStoreChangeFeign;
import com.yxt.anrui.terminal.api.as.storechange.AppStoreChangeScanVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("v1/storeChange")
public class AppStoreChangeRest implements AppStoreChangeFeign {
@Autowired
private AppStoreChangeService appStoreChangeService;
@Override
public ResultBean<AppStoreChangeScanVo> scan(String content, String type, String orgPath, String storeSid) {
return appStoreChangeService.scan(content, type, orgPath, storeSid);
}
@Override
public ResultBean save(AppFirstShelvesDto dto) {
return appStoreChangeService.save(dto);
}
}

207
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeService.java

@ -0,0 +1,207 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.as.storechange;
import cn.hutool.core.date.DateUtil;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.terminal.api.as.firstshelves.*;
import com.yxt.anrui.terminal.api.as.storechange.AppStoreChangeScanVo;
import com.yxt.anrui.terminal.fegin.wmsInventory.WmsInventory;
import com.yxt.anrui.terminal.fegin.wmsInventory.WmsInventoryFeign;
import com.yxt.anrui.terminal.fegin.wmsInventory.WmsInventorySaveDto;
import com.yxt.anrui.terminal.fegin.wmsgoodstag.GoodsTagListQuery;
import com.yxt.anrui.terminal.fegin.wmsgoodstag.WmsGoodsTag;
import com.yxt.anrui.terminal.fegin.wmsgoodstag.WmsGoodsTagFeign;
import com.yxt.anrui.terminal.fegin.wmsinitialdetail.WmsInitialDetail;
import com.yxt.anrui.terminal.fegin.wmsinitialdetail.WmsInitialDetailFeign;
import com.yxt.anrui.terminal.fegin.wmswarehouserack.WmsHouseInfoVo;
import com.yxt.anrui.terminal.fegin.wmswarehouserack.WmsWarehouseRackFeign;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class AppStoreChangeService {
@Resource
private WmsGoodsTagFeign wmsGoodsTagFeign;
@Resource
private WmsWarehouseRackFeign wmsWarehouseRackFeign;
@Resource
private WmsInventoryFeign wmsInventoryFeign;
@Resource
private WmsInitialDetailFeign wmsInitialDetailFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
public ResultBean<AppFirstShelvesVo> list(PagerQuery<AppFirstShelvesQuery> pagerQuery) {
ResultBean rb = ResultBean.fireFail();
PagerQuery<GoodsTagListQuery> pagerQuery1 = new PagerQuery<>();
GoodsTagListQuery params = new GoodsTagListQuery();
AppFirstShelvesQuery params1 = pagerQuery.getParams();
params.setUserSid(params1.getUserSid());
params.setOrgPath(params1.getOrgPath());
params.setMenuSid(params1.getMenuSid());
params.setName(params1.getName());
pagerQuery1.setParams(params);
pagerQuery1.setSize(1000);
PagerVo<WmsGoodsTag> data = wmsGoodsTagFeign.goodsTagList(pagerQuery1).getData();
AppFirstShelvesVo appFirstShelvesVo = new AppFirstShelvesVo();
List<AppFirstShelvesGoodsVo> goods = new ArrayList<>();
List<WmsGoodsTag> list = data.getRecords();
for (WmsGoodsTag wmsGoodsTag : list) {
AppFirstShelvesGoodsVo appFirstShelvesGoodsVo = new AppFirstShelvesGoodsVo();
appFirstShelvesGoodsVo.setSid(wmsGoodsTag.getSid());
appFirstShelvesGoodsVo.setName(wmsGoodsTag.getGoodsSkuTitle());
appFirstShelvesGoodsVo.set_id(wmsGoodsTag.getGoodsID());
appFirstShelvesGoodsVo.setNum(wmsGoodsTag.getGoodsCount());
appFirstShelvesGoodsVo.setUnit(wmsGoodsTag.getUnit());
appFirstShelvesGoodsVo.setSpecs(wmsGoodsTag.getGoodsSkuOwnSpec());
goods.add(appFirstShelvesGoodsVo);
}
appFirstShelvesVo.setGoods(goods);
return rb.success().setData(appFirstShelvesVo);
}
public ResultBean<AppStoreChangeScanVo> scan(String content, String type, String orgPath, String storeSid) {
ResultBean rb = ResultBean.fireFail();
String deptSid = "";
if (StringUtils.isNotBlank(orgPath)) {
List<String> split = Arrays.asList(orgPath.split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptSid = sysOrganization.getSid();
}
}
AppStoreChangeScanVo appStoreChangeScanVo = new AppStoreChangeScanVo();
if ("0".equals(type)) {//商品码
if (content.contains("#")) {
return rb.setMsg("请扫描商品码");
}
if (StringUtils.isBlank(storeSid)) {
List<WmsInventory> wmsInventoryList = wmsInventoryFeign.selByGoodsIDAndUseOrgSid(content, deptSid).getData();
if (wmsInventoryList.size() == 0) {
return rb.setMsg("当前商品不可移位");
}
appStoreChangeScanVo.setType(type);
appStoreChangeScanVo.setSid(wmsInventoryList.get(0).getGoodsSpuSid());
appStoreChangeScanVo.setStoreSids(wmsInventoryList.stream().map(WmsInventory::getWarehouseSid).collect(Collectors.toList()));
} else {
List<WmsInventory> wmsInventoryList = wmsInventoryFeign.selByGoodsIDAndUseOrgSidAndWarehouseSid(content, deptSid, storeSid).getData();
appStoreChangeScanVo.setType(type);
appStoreChangeScanVo.setSid(wmsInventoryList.get(0).getGoodsSpuSid());
appStoreChangeScanVo.setStoreSids(wmsInventoryList.stream().map(WmsInventory::getWarehouseSid).collect(Collectors.toList()));
}
} else if ("1".equals(type)) {//库位码
if (!content.contains("#")) {
return rb.setMsg("请扫描库位码");
}
String[] split = content.split("#");
String houseCode = split[0];
ResultBean<WmsHouseInfoVo> wmsHouseInfoVoResultBean = wmsWarehouseRackFeign.selHouseInfoByFullCode(houseCode);
if (wmsHouseInfoVoResultBean.getSuccess()) {
WmsHouseInfoVo houseInfoVo = wmsHouseInfoVoResultBean.getData();
if (null != houseInfoVo) {
String houseName = "";
String areaName = "";
String rackName = "";
String zoneName = "";
if (StringUtils.isNotBlank(houseInfoVo.getWarehouseName())) {
houseName = houseInfoVo.getWarehouseName();
}
if (StringUtils.isNotBlank(houseInfoVo.getWareAreaName())) {
areaName = houseInfoVo.getWareAreaName();
}
if (StringUtils.isNotBlank(houseInfoVo.getWarehouseRackName())) {
rackName = houseInfoVo.getWarehouseRackName();
}
if (StringUtils.isNotBlank(houseInfoVo.getWarehouseZoneName())) {
zoneName = houseInfoVo.getWarehouseZoneName();
}
appStoreChangeScanVo.setHouseName(houseName + "-" + zoneName + "-" + areaName);
appStoreChangeScanVo.setHouseAddress(houseInfoVo.getWarehouseRackCode());
appStoreChangeScanVo.setHouseCode(houseCode);
appStoreChangeScanVo.setType(type);
} else {
return rb.setMsg("扫描库位码为空");
}
}
}
return rb.success().setData(appStoreChangeScanVo);
}
public ResultBean save(AppFirstShelvesDto dto) {
ResultBean rb = ResultBean.fireFail();
List<AppFirstShelvesGoodsDto> goodsList = dto.getGoodsList();
WmsInventorySaveDto wmsInventorySaveDto = new WmsInventorySaveDto();
wmsInventorySaveDto.setCreateBySid(dto.getUserSid());
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
wmsInventorySaveDto.setCreateOrgSid(useOrgSid);
wmsInventorySaveDto.setUseOrgSid(useOrgSid);
wmsInventorySaveDto.setFirstInDate(DateUtil.today());
for (AppFirstShelvesGoodsDto appFirstShelvesGoodsDto : goodsList) {
WmsGoodsTag wmsGoodsTag = wmsGoodsTagFeign.selectByGoodsId(appFirstShelvesGoodsDto.getGoodsID()).getData();
WmsInitialDetail wmsInitialDetail = wmsInitialDetailFeign.selBySid(wmsGoodsTag.getBillDetailSid()).getData();
WmsHouseInfoVo wmsHouseInfoVo = wmsWarehouseRackFeign.selHouseInfoByFullCode(appFirstShelvesGoodsDto.getHouseCode()).getData();
wmsInventorySaveDto.setGoodsSpuSid(wmsGoodsTag.getGoodsSpuSid());
wmsInventorySaveDto.setGoodsSpuName(wmsGoodsTag.getGoodsSpuName());
wmsInventorySaveDto.setGoodsSkuSid(wmsGoodsTag.getGoodsSkuSid());
wmsInventorySaveDto.setGoodsSkuTitle(wmsGoodsTag.getGoodsSkuTitle());
wmsInventorySaveDto.setGoodsSkuCode(wmsGoodsTag.getGoodsSkuCode());
wmsInventorySaveDto.setGoodsSkuOwnSpec(wmsGoodsTag.getGoodsSkuOwnSpec());
wmsInventorySaveDto.setUnit(wmsGoodsTag.getUnit());
wmsInventorySaveDto.setCount(appFirstShelvesGoodsDto.getCount());
wmsInventorySaveDto.setGoodsID(appFirstShelvesGoodsDto.getGoodsID());
wmsInventorySaveDto.setManufacturerSid(wmsInitialDetail.getManufacturerSid());
wmsInventorySaveDto.setManufacturerName(wmsInitialDetail.getManufacturerName());
wmsInventorySaveDto.setFirstInDate(DateUtil.formatDate(wmsInitialDetail.getFirstInDate()));
wmsInventorySaveDto.setWarehouseSid(wmsHouseInfoVo.getWarehouseSid());
wmsInventorySaveDto.setWarehouseName(wmsHouseInfoVo.getWarehouseName());
wmsInventorySaveDto.setWarehouseRackSid(wmsHouseInfoVo.getWarehouseRackSid());
wmsInventorySaveDto.setWarehouseRackCode(appFirstShelvesGoodsDto.getHouseCode());
wmsInventoryFeign.saveWmsInventory(wmsInventorySaveDto).getData();
}
return rb.success();
}
}

66
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventory.java

@ -0,0 +1,66 @@
package com.yxt.anrui.terminal.fegin.wmsInventory;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class WmsInventory extends BaseEntity {
@ApiModelProperty("批次号")
private String batchNumber;
@ApiModelProperty("商品ID(唯一编码,入库时生成,生成规则为商品编码+YYMMdd+4位流水)")
private String goodsID;
@ApiModelProperty("商品基础信息sid")
private String goodsSpuSid;
@ApiModelProperty("商品名称")
private String goodsSpuName;
@ApiModelProperty("商品Skusid")
private String goodsSkuSid;
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle;
@ApiModelProperty("商品编码(图号)")
private String goodsSkuCode;
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec;
@ApiModelProperty("计量单位")
private String unit;
@ApiModelProperty("现有量")
private BigDecimal count;
@ApiModelProperty("分配量(锁定数量,出库申请通过,但未实际出库)")
private BigDecimal allocateCount;
@ApiModelProperty("拣货量")
private BigDecimal pickCount;
@ApiModelProperty("冻结量")
private BigDecimal freezeCount;
@ApiModelProperty("入库单价")
private BigDecimal cost;
@ApiModelProperty("税率")
private BigDecimal taxRate;
@ApiModelProperty("仓库sid")
private String warehouseSid;
@ApiModelProperty("仓库名称")
private String warehouseName;
@ApiModelProperty("库位sid")
private String warehouseRackSid;
@ApiModelProperty("库位编码")
private String warehouseRackCode;
@ApiModelProperty("首次入库日期-计算库龄的依据")
private Date firstInDate;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("厂家订单号")
private String manufactorBillNo;
@ApiModelProperty("厂家sid")
private String manufacturerSid; // 库位sid
@ApiModelProperty("厂家名称")
private String manufacturerName; // 库位编号
@ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商")
private String supplierSid;
@ApiModelProperty("客户/供应商名称")
private String supplierName;
}

10
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventoryFeign.java

@ -12,6 +12,8 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/** /**
* @description: 商品基础信息 * @description: 商品基础信息
* @author: fzz * @author: fzz
@ -39,4 +41,12 @@ public interface WmsInventoryFeign {
@ApiOperation("保存商品库存") @ApiOperation("保存商品库存")
@PostMapping("/saveWmsInventory") @PostMapping("/saveWmsInventory")
ResultBean saveWmsInventory(@RequestBody WmsInventorySaveDto dto); ResultBean saveWmsInventory(@RequestBody WmsInventorySaveDto dto);
@ApiOperation("根据商品ID和部门sid查询")
@PostMapping("/selByGoodsIDAndUseOrgSid")
ResultBean<List<WmsInventory>> selByGoodsIDAndUseOrgSid(@RequestParam("goodID") String goodID, @RequestParam("useOrgSid") String useOrgSid);
@ApiOperation("根据商品ID和部门sid和仓库sid查询")
@PostMapping("/selByGoodsIDAndUseOrgSidAndWarehouseSid")
ResultBean<List<WmsInventory>> selByGoodsIDAndUseOrgSidAndWarehouseSid(@RequestParam("goodID") String goodID, @RequestParam("useOrgSid") String useOrgSid, @RequestParam("warehouseSid") String warehouseSid);
} }

24
yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow3/Flow3Feign.java

@ -0,0 +1,24 @@
package com.yxt.anrui.oa.feign.flowable.flow3;
import com.yxt.anrui.oa.feign.flowable.flow.BusinessVariables;
import com.yxt.anrui.oa.feign.flowable.flow.UpdateFlowFieldVo;
import com.yxt.anrui.oa.feign.flowable.flow2.FlowDelegateQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
@FeignClient(
contextId = "anrui-flowable-Flow3",
name = "anrui-flowable",
path = "v3/flow")
public interface Flow3Feign {
@ApiOperation(value = "启动流程")
@PostMapping(value = "/startProcess2")
@ResponseBody
ResultBean<UpdateFlowFieldVo> startProcess2(@RequestBody BusinessVariables dto);
}

13
yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsH5Rest.java

@ -5,6 +5,8 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.wms.biz.inventory.wmsgoodstag.app.AppTagInit; import com.yxt.wms.biz.inventory.wmsgoodstag.app.AppTagInit;
import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryService; import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryService;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTagH5Vo; import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTagH5Vo;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTwoQuery;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTwoVo;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackH5Vo; import com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackH5Vo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -50,6 +52,17 @@ public class WmsH5Rest {
return rb.success().setData(vo); return rb.success().setData(vo);
} }
@GetMapping("goods2")
@ApiOperation("扫描商品标签看详情")
ResultBean<GoodsTwoVo> goods2(@RequestBody GoodsTwoQuery query) {
ResultBean rb = ResultBean.fireFail();
GoodsTwoVo vo = wmsInventoryService.goods2(query);
if (null == vo) {
return rb.fail().setMsg("商品不存在");
}
return rb.success().setData(vo);
}
@GetMapping("h5/{qrCode}") @GetMapping("h5/{qrCode}")
@ApiOperation("扫描商品标签看详情") @ApiOperation("扫描商品标签看详情")
ResultBean<String> h5Code(@PathVariable("qrCode") String qrCode) { ResultBean<String> h5Code(@PathVariable("qrCode") String qrCode) {

30
yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java

@ -38,7 +38,6 @@ public class WmsInventoryRest {
HttpServletResponse response; HttpServletResponse response;
@ApiOperation("根据goodsID获取数据") @ApiOperation("根据goodsID获取数据")
@GetMapping("/getListByGoodsID") @GetMapping("/getListByGoodsID")
public ResultBean<List<WmsInventory>> getListByGoodsID(@RequestParam("goodsID") String goodsID) { public ResultBean<List<WmsInventory>> getListByGoodsID(@RequestParam("goodsID") String goodsID) {
@ -251,9 +250,11 @@ public class WmsInventoryRest {
@ApiOperation("根据维修单号和旧件图号查询旧件库存") @ApiOperation("根据维修单号和旧件图号查询旧件库存")
@PostMapping("/selBillNoAndCode") @PostMapping("/selBillNoAndCode")
ResultBean<List<WmsInventoryReturnFactSelectList>> selBillNoAndCode(@RequestParam("sourceBillNo") String sourceBillNo,@RequestParam("goodsSkuCode") String goodsSkuCode,@RequestParam("deptSid") String deptSid){ ResultBean<List<WmsInventoryReturnFactSelectList>> selBillNoAndCode(@RequestParam("sourceBillNo") String sourceBillNo, @RequestParam("goodsSkuCode") String goodsSkuCode, @RequestParam("deptSid") String deptSid) {
return wmsInventoryService.selBillNoAndCode(sourceBillNo,goodsSkuCode,deptSid); return wmsInventoryService.selBillNoAndCode(sourceBillNo, goodsSkuCode, deptSid);
}; }
;
@ApiOperation("根据Sid获取库存实体") @ApiOperation("根据Sid获取库存实体")
@PostMapping("/fetchEntityBySid") @PostMapping("/fetchEntityBySid")
@ -271,7 +272,7 @@ public class WmsInventoryRest {
@ApiOperation("根据商品skuSid计算平均入库价") @ApiOperation("根据商品skuSid计算平均入库价")
@GetMapping("/compute") @GetMapping("/compute")
ResultBean<BigDecimal> compute(@RequestParam("skuSid") String skuSid){ ResultBean<BigDecimal> compute(@RequestParam("skuSid") String skuSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
BigDecimal price = wmsInventoryService.compute(skuSid); BigDecimal price = wmsInventoryService.compute(skuSid);
return rb.success().setData(price); return rb.success().setData(price);
@ -304,9 +305,22 @@ public class WmsInventoryRest {
@ApiOperation("根据商品ID查询库存数量") @ApiOperation("根据商品ID查询库存数量")
@PostMapping("/selCountByGoodsID") @PostMapping("/selCountByGoodsID")
public ResultBean<String> selCountByGoodsID(@RequestParam("goodsID") String goodsID){ public ResultBean<String> selCountByGoodsID(@RequestParam("goodsID") String goodsID) {
return wmsInventoryService.selCountByGoodsID(goodsID); return wmsInventoryService.selCountByGoodsID(goodsID);
} }
@ApiOperation("根据商品ID和部门sid查询")
@PostMapping("/selByGoodsIDAndUseOrgSid")
ResultBean<List<WmsInventory>> selByGoodsIDAndUseOrgSid(@RequestParam("goodID") String goodID, @RequestParam("useOrgSid") String useOrgSid) {
return wmsInventoryService.selByGoodsIDAndUseOrgSid(goodID, useOrgSid);
}
@ApiOperation("根据商品ID和部门sid和仓库sid查询")
@PostMapping("/selByGoodsIDAndUseOrgSidAndWarehouseSid")
ResultBean<List<WmsInventory>> selByGoodsIDAndUseOrgSidAndWarehouseSid(@RequestParam("goodID") String goodID, @RequestParam("useOrgSid") String useOrgSid, @RequestParam("warehouseSid") String warehouseSid) {
return wmsInventoryService.selByGoodsIDAndUseOrgSidAndWarehouseSid(goodID, useOrgSid, warehouseSid);
}
//----------------------------- 报表 ----------------------------- //----------------------------- 报表 -----------------------------
@ApiOperation("滞销品查询") @ApiOperation("滞销品查询")
@PostMapping("/deadStockList") @PostMapping("/deadStockList")
@ -327,9 +341,9 @@ public class WmsInventoryRest {
//------------------------------ 行政类审批查询库存 --------------------------------------- //------------------------------ 行政类审批查询库存 ---------------------------------------
@ApiOperation("行政类审批查询库存") @ApiOperation("行政类审批查询库存")
@PostMapping("/oaInventoryList") @PostMapping("/oaInventoryList")
public ResultBean<List<FormCommon>> oaInventoryList(@RequestParam("orgPath") String orgPath,@RequestParam("warehouseTypeValue") String warehouseTypeValue) { public ResultBean<List<FormCommon>> oaInventoryList(@RequestParam("orgPath") String orgPath, @RequestParam("warehouseTypeValue") String warehouseTypeValue) {
ResultBean<List<FormCommon>> rb = ResultBean.fireFail(); ResultBean<List<FormCommon>> rb = ResultBean.fireFail();
List<FormCommon> list = wmsInventoryService.oaInventoryList(orgPath,warehouseTypeValue); List<FormCommon> list = wmsInventoryService.oaInventoryList(orgPath, warehouseTypeValue);
return rb.success().setData(list); return rb.success().setData(list);
} }

33
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java

@ -44,9 +44,9 @@ public interface WmsInventoryMapper extends BaseMapper<WmsInventory> {
IPage<WmsInventorySalesVo> listPageSales(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); IPage<WmsInventorySalesVo> listPageSales(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
IPage<WmsInventoryPackageVo> getPackageGoodsVo(IPage<WmsInventory> page,@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); IPage<WmsInventoryPackageVo> getPackageGoodsVo(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
IPage<WmsInventoryAgeVo> inventoryAgeList(IPage<WmsInventory> page,@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); IPage<WmsInventoryAgeVo> inventoryAgeList(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
List<WmsInventoryAgeExportVo> ageExportExcel(@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); List<WmsInventoryAgeExportVo> ageExportExcel(@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
@ -72,13 +72,13 @@ public interface WmsInventoryMapper extends BaseMapper<WmsInventory> {
List<WmsInventory> selByDeptSid(String deptSid); List<WmsInventory> selByDeptSid(String deptSid);
List<WmsInventory> selByDeptSidAndRackSid(@Param("deptSid") String deptSid,@Param("rackSids") List<String> rackSids); List<WmsInventory> selByDeptSidAndRackSid(@Param("deptSid") String deptSid, @Param("rackSids") List<String> rackSids);
IPage<WmsInventoryBillUseOrgSidVo> selInvenGoodsByUseOrgSid(IPage<WmsInventory> page,@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); IPage<WmsInventoryBillUseOrgSidVo> selInvenGoodsByUseOrgSid(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
IPage<WmsInventoryReturnFactSelectList> returnFactGoodsListPage(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); IPage<WmsInventoryReturnFactSelectList> returnFactGoodsListPage(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
List<WmsInventoryReturnFactSelectList> selBillNoAndCode(@Param("sourceBillNo") String sourceBillNo,@Param("goodsSkuCode") String goodsSkuCode,@Param("deptSid") String deptSid); List<WmsInventoryReturnFactSelectList> selBillNoAndCode(@Param("sourceBillNo") String sourceBillNo, @Param("goodsSkuCode") String goodsSkuCode, @Param("deptSid") String deptSid);
IPage<FittingsInventoryVo> fittingsInventory(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); IPage<FittingsInventoryVo> fittingsInventory(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
@ -86,26 +86,37 @@ public interface WmsInventoryMapper extends BaseMapper<WmsInventory> {
List<OldStorageListVo> appOldStorage(@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); List<OldStorageListVo> appOldStorage(@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
List<WmsInventory> selJJByDeptSidAndRackSid(@Param("deptSid") String deptSid,@Param("rackSids") List<String> rackSids); List<WmsInventory> selJJByDeptSidAndRackSid(@Param("deptSid") String deptSid, @Param("rackSids") List<String> rackSids);
List<WmsInventory> selJJByDeptSid(String deptSid); List<WmsInventory> selJJByDeptSid(String deptSid);
WmsInventory selbyGoodsId(@Param("goodsID") String goodsID); WmsInventory selbyGoodsId(@Param("goodsID") String goodsID);
IPage<DeadStockVo> deadStockList(IPage<WmsInventory> page,@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); IPage<DeadStockVo> deadStockList(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
String selByGoodsIdAndRackSid(@Param("goodsID") String goodsID,@Param("warehouseRackSid") String warehouseRackSid); String selByGoodsIdAndRackSid(@Param("goodsID") String goodsID, @Param("warehouseRackSid") String warehouseRackSid);
BigDecimal compute(String skuSid); BigDecimal compute(String skuSid);
List<WmsInventory> selCJByDeptSidAndRackSid(@Param("deptSid") String deptSid,@Param("rackSids") List<String> rackSids); List<WmsInventory> selCJByDeptSidAndRackSid(@Param("deptSid") String deptSid, @Param("rackSids") List<String> rackSids);
List<WmsInventory> selCJByDeptSid(String deptSid); List<WmsInventory> selCJByDeptSid(String deptSid);
IPage<InventoryStockListVo> inventoryStockList(IPage<WmsInventory> page, @Param(Constants.WRAPPER)QueryWrapper<WmsInventory> qw); IPage<InventoryStockListVo> inventoryStockList(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
List<WmsInventory> selOaInventoryList(@Param("useOrgSid")String useOrgSid, @Param("warehouseTypeValue")String warehouseTypeValue); List<WmsInventory> selOaInventoryList(@Param("useOrgSid") String useOrgSid, @Param("warehouseTypeValue") String warehouseTypeValue);
@Select("select count from wms_inventory where goodsID = #{goodsID}") @Select("select count from wms_inventory where goodsID = #{goodsID}")
String selCountByGoodsID(String goodsID); String selCountByGoodsID(String goodsID);
@Select("select * from wms_inventory where goodsID = #{goodsID} and useOrgSid = #{useOrgSid}")
List<WmsInventory> selByGoodsIDAndUseOrgSid(@Param("goodID") String goodID, @Param("useOrgSid") String useOrgSid);
@Select("select * from wms_inventory where goodsID = #{goodsID} and useOrgSid = #{useOrgSid} and warehouseSid = #{warehouseSid}")
List<WmsInventory> selByGoodsIDAndUseOrgSidAndWarehouseSid(@Param("goodID") String goodID, @Param("useOrgSid") String useOrgSid, @Param("warehouseSid") String warehouseSid);
@Select("select * from wms_inventory where goodsSpuSid = #{spuSid} and useOrgSid = #{useOrgSid}")
List<WmsInventory> selBySpuSidAndUseOrgSid(@Param("spuSid") String spuSid, @Param("useOrgSid") String useOrgSid);
List<WmsInventory> selBySpuSidAndUseOrgSidWarehouseSid(@Param("spuSid") String spuSid, @Param("useOrgSid") String useOrgSid, @Param("warehouseSid") String warehouseSid, @Param("sids") List<String> sids);
} }

475
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml

@ -209,7 +209,9 @@
DATEDIFF(NOW(), w.firstInDate) as age DATEDIFF(NOW(), w.firstInDate) as age
FROM wms_inventory as w, FROM wms_inventory as w,
( SELECT @rank := 0 ) t ( SELECT @rank := 0 ) t
<where>${ew.sqlSegment}</where> <where>
${ew.sqlSegment}
</where>
</select> </select>
<select id="selectInvenBySkuSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsGoodsInventoryVo"> <select id="selectInvenBySkuSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsGoodsInventoryVo">
@ -237,7 +239,7 @@
wi.cost as salesPrice wi.cost as salesPrice
FROM wms_inventory wi FROM wms_inventory wi
LEFT JOIN wms_warehouse_area wwa LEFT JOIN wms_warehouse_area wwa
ON wi.`warehouseRackSid` = wwa.`sid` ON wi.warehouseRackSid = wwa.sid
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
@ -323,100 +325,95 @@
</where> </where>
</select> </select>
<select id="getListByGoodsID" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory"> <select id="getListByGoodsID" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
select * from wms_inventory wi where wi.goodsID =#{goodsID} and wi.count > 0 select *
from wms_inventory wi
where wi.goodsID = #{goodsID}
and wi.count > 0
</select> </select>
<select id="selGoodsListForScanRackTag" <select id="selGoodsListForScanRackTag"
resultType="com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackListVo"> resultType="com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackListVo">
SELECT SELECT wi.goodsID,
wi.goodsID, b.supplierName provider,
b.supplierName provider, wi.goodsSpuName goodsName,
wi.goodsSpuName goodsName, wi.goodsSkuCode numId,
wi.goodsSkuCode numId, wi.count num,
wi.count num, CONCAT((date_format(wi.firstInDate, '%Y-%m-%d')), ' (库龄)', (DATEDIFF(NOW(), wi.firstInDate)),
CONCAT( ( date_format ( wi.firstInDate, '%Y-%m-%d' )), ' (库龄)',( DATEDIFF( NOW(), wi.firstInDate )), '天' ) inboundTime '天') inboundTime
FROM FROM wms_inventory AS wi
wms_inventory AS wi LEFT JOIN wms_goods_tag AS t ON wi.goodsID = t.goodsID
LEFT JOIN wms_goods_tag AS t ON wi.goodsID = t.goodsID LEFT JOIN wms_receipt_bill AS b ON t.billSid = b.sid
LEFT JOIN wms_receipt_bill AS b ON t.billSid = b.sid WHERE wi.warehouseRackSid = #{houseRackSid}
WHERE
wi.warehouseRackSid = #{houseRackSid}
</select> </select>
<select id="selGoodsH5Vo" resultType="com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTagH5Vo"> <select id="selGoodsH5Vo" resultType="com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTagH5Vo">
SELECT SELECT wi.goodsID,
wi.goodsID, b.supplierName provider,
b.supplierName provider, wi.goodsSpuName goodsName,
wi.goodsSpuName goodsName, wi.goodsSkuCode numId,
wi.goodsSkuCode numId, wi.unit,
wi.unit, wi.goodsSkuOwnSpec,
wi.goodsSkuOwnSpec, CONCAT((date_format(wi.firstInDate, '%Y-%m-%d')), ' (库龄)', (DATEDIFF(NOW(), wi.firstInDate)),
CONCAT( ( date_format ( wi.firstInDate, '%Y-%m-%d' )), ' (库龄)',( DATEDIFF( NOW(), wi.firstInDate )), '天' ) inboundTime '天') inboundTime
FROM FROM wms_inventory AS wi
wms_inventory AS wi LEFT JOIN wms_goods_tag AS t ON wi.goodsID = t.goodsID
LEFT JOIN wms_goods_tag AS t ON wi.goodsID = t.goodsID LEFT JOIN wms_receipt_bill AS b ON t.billSid = b.sid
LEFT JOIN wms_receipt_bill AS b ON t.billSid = b.sid WHERE wi.goodsID = #{goodsID}
WHERE ORDER BY wi.firstInDate ASC LIMIT 1
wi.goodsID = #{goodsID}
ORDER BY
wi.firstInDate ASC
LIMIT 1
</select> </select>
<select id="selGoodsListForScanGoodsTag" <select id="selGoodsListForScanGoodsTag"
resultType="com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsListTagH5Vo"> resultType="com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsListTagH5Vo">
SELECT SELECT wi.count num,
wi.count num, r.rackCode houseAddress,
r.rackCode houseAddress, CONCAT(i.warehouseName, '-', a.areaName) houseName
CONCAT( i.warehouseName, '-', a.areaName ) houseName FROM wms_inventory AS wi
FROM LEFT JOIN wms_warehouse_info AS i ON wi.warehouseSid = i.sid
wms_inventory AS wi LEFT JOIN wms_warehouse_rack AS r ON wi.warehouseRackSid = r.sid
LEFT JOIN wms_warehouse_info AS i ON wi.warehouseSid = i.sid LEFT JOIN wms_warehouse_area AS a ON r.locationSid = a.sid
LEFT JOIN wms_warehouse_rack AS r ON wi.warehouseRackSid = r.sid WHERE wi.goodsID = #{goodsID}
LEFT JOIN wms_warehouse_area AS a ON r.locationSid = a.sid
WHERE
wi.goodsID = #{goodsID}
</select> </select>
<select id="selByDeptSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory"> <select id="selByDeptSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
SELECT wi.* SELECT wi.*
FROM wms_inventory wi FROM wms_inventory wi
LEFT JOIN wms_warehouse_info wwi LEFT JOIN wms_warehouse_info wwi
ON wi.`warehouseSid` = wwi.`sid` ON wi.warehouseSid = wwi.sid
WHERE wi.count > 0 WHERE wi.count > 0
AND wwi.`useOrgSid` = #{deptSid} AND wwi.useOrgSid = #{deptSid}
AND wwi.warehouseTypeKey = '01' AND wwi.warehouseTypeKey = '01'
AND RIGHT(wi.`goodsID`,2) != '-O' AND RIGHT (wi.goodsID
, 2) != '-O'
</select> </select>
<select id="selByDeptSidAndRackSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory"> <select id="selByDeptSidAndRackSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
SELECT wi.* SELECT wi.*
FROM wms_inventory wi FROM wms_inventory wi
LEFT JOIN wms_warehouse_info wwi LEFT JOIN wms_warehouse_info wwi
ON wi.`warehouseSid` = wwi.`sid` ON wi.warehouseSid = wwi.sid
WHERE wi.count > 0 WHERE wi.count > 0
AND wwi.`useOrgSid` = #{deptSid} AND wwi.useOrgSid = #{deptSid}
AND RIGHT(wi.`goodsID`,2) != '-O' AND RIGHT(wi.goodsID,2) != '-O'
AND wwi.warehouseTypeKey = '01' AND wwi.warehouseTypeKey = '01'
AND wi.warehouseRackSid in AND wi.warehouseRackSid in
<foreach item="rackSid" collection="rackSids" open="(" separator="," close=")"> <foreach item="rackSid" collection="rackSids" open="(" separator="," close=")">
#{rackSid} #{rackSid}
</foreach> </foreach>
</select> </select>
<select id="selInvenGoodsByUseOrgSid" <select id="selInvenGoodsByUseOrgSid"
resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryBillUseOrgSidVo"> resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryBillUseOrgSidVo">
SELECT SELECT
w.*, w.*,
w.supplierSid, w.supplierSid,
w.supplierName, w.supplierName,
wa.sid AS warehouseAreaSid, wa.sid AS warehouseAreaSid,
wa.`areaName` AS warehouseArea, wa.areaName AS warehouseArea,
p.sid AS manufactorBillSid p.sid AS manufactorBillSid
FROM wms_inventory w FROM wms_inventory w
LEFT JOIN yxt_pms.pms_purchase_bill p LEFT JOIN yxt_pms.pms_purchase_bill p
ON w.manufactorBillNo = p.manufacturersOrderNumber ON w.manufactorBillNo = p.manufacturersOrderNumber
LEFT JOIN wms_warehouse_rack wr LEFT JOIN wms_warehouse_rack wr
ON w.`warehouseRackSid` = wr.`sid` ON w.warehouseRackSid = wr.sid
LEFT JOIN wms_warehouse_area wa LEFT JOIN wms_warehouse_area wa
ON wr.`locationSid` = wa.`sid` ON wr.locationSid = wa.sid
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
@ -424,8 +421,8 @@
<select id="fittingsInventory" resultType="com.yxt.wms.biz.inventory.wmsinventory.FittingsInventoryVo"> <select id="fittingsInventory" resultType="com.yxt.wms.biz.inventory.wmsinventory.FittingsInventoryVo">
SELECT * FROM ( SELECT * FROM (
SELECT SELECT
so.`name` useOrgName, so.name useOrgName,
s.`name` deptName, s.name deptName,
wi.goodsSpuName, wi.goodsSpuName,
wi.goodsSkuCode, wi.goodsSkuCode,
wi.goodsSkuOwnSpec, wi.goodsSkuOwnSpec,
@ -446,23 +443,23 @@
</select> </select>
<select id="appStorage" resultType="com.yxt.wms.biz.inventory.wmsinventory.appInventory.StorageListVo"> <select id="appStorage" resultType="com.yxt.wms.biz.inventory.wmsinventory.appInventory.StorageListVo">
SELECT SELECT
i.count, i.count,
i.manufacturerName factory, i.manufacturerName factory,
i.goodsID, i.goodsID,
i.goodsSkuCode, i.goodsSkuCode,
i.goodsSkuOwnSpec, i.goodsSkuOwnSpec,
i.goodsSpuName, i.goodsSpuName,
DATEDIFF( NOW(), i.firstInDate ) inventoryAge, DATEDIFF( NOW(), i.firstInDate ) inventoryAge,
i.cost price, i.cost price,
i.supplierName provider, i.supplierName provider,
i.taxRate rate, i.taxRate rate,
i.unit, i.unit,
CONCAT(i.warehouseName, '-',a.areaName, '-',i.warehouseRackCode ) title CONCAT(i.warehouseName, '-',a.areaName, '-',i.warehouseRackCode ) title
FROM FROM
wms_inventory AS i wms_inventory AS i
LEFT JOIN wms_warehouse_rack as r ON i.warehouseRackSid = r.sid LEFT JOIN wms_warehouse_rack as r ON i.warehouseRackSid = r.sid
LEFT JOIN wms_warehouse_area as a ON r.locationSid = a.sid LEFT JOIN wms_warehouse_area as a ON r.locationSid = a.sid
LEFT JOIN anrui_portal.sys_organization as s ON i.useOrgSid = s.sid LEFT JOIN anrui_portal.sys_organization as s ON i.useOrgSid = s.sid
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
@ -470,53 +467,53 @@
<select id="appOldStorage" <select id="appOldStorage"
resultType="com.yxt.wms.biz.inventory.wmsinventory.appInventory.OldStorageListVo"> resultType="com.yxt.wms.biz.inventory.wmsinventory.appInventory.OldStorageListVo">
SELECT * FROM SELECT * FROM
(SELECT (SELECT
e.*, e.*,
( (
SELECT SELECT
CONCAT( v.vinNo, '/', v.vehMark ) CONCAT( v.vinNo, '/', v.vehMark )
FROM FROM
yxt_4sas.as_busrepair_inventorybill_detail AS d yxt_4sas.as_busrepair_inventorybill_detail AS d
LEFT JOIN yxt_4sas.as_busrepair_inventorybill AS i ON d.billSid = i.sid LEFT JOIN yxt_4sas.as_busrepair_inventorybill AS i ON d.billSid = i.sid
LEFT JOIN yxt_4sas.as_busrepair_bill_vech AS v ON i.sourceBillSid = v.billSid LEFT JOIN yxt_4sas.as_busrepair_bill_vech AS v ON i.sourceBillSid = v.billSid
WHERE WHERE
d.oldInventorySid = e.sid d.oldInventorySid = e.sid
LIMIT 1 LIMIT 1
) carCodeInfo, ) carCodeInfo,
( (
SELECT SELECT
b.billNo b.billNo
FROM FROM
yxt_4sas.as_busrepair_inventorybill_detail AS d yxt_4sas.as_busrepair_inventorybill_detail AS d
LEFT JOIN yxt_4sas.as_busrepair_inventorybill AS i ON d.billSid = i.sid LEFT JOIN yxt_4sas.as_busrepair_inventorybill AS i ON d.billSid = i.sid
LEFT JOIN yxt_4sas.as_busrepair_bill AS b ON i.sourceBillSid = b.sid LEFT JOIN yxt_4sas.as_busrepair_bill AS b ON i.sourceBillSid = b.sid
WHERE WHERE
d.oldInventorySid = e.sid d.oldInventorySid = e.sid
LIMIT 1 LIMIT 1
) repairId ) repairId
FROM FROM
( (
SELECT SELECT
i.count, i.count,
i.manufacturerName factory, i.manufacturerName factory,
i.goodsID, i.goodsID,
i.goodsSkuCode, i.goodsSkuCode,
i.goodsSkuOwnSpec, i.goodsSkuOwnSpec,
i.goodsSpuName, i.goodsSpuName,
DATEDIFF( NOW(), i.firstInDate ) inventoryAge, DATEDIFF( NOW(), i.firstInDate ) inventoryAge,
i.cost price, i.cost price,
i.unit, i.unit,
CONCAT( i.warehouseName, '-', a.areaName, '-', i.warehouseRackCode ) title, CONCAT( i.warehouseName, '-', a.areaName, '-', i.warehouseRackCode ) title,
i.sid, i.sid,
s.orgSidPath, s.orgSidPath,
i.createBySid i.createBySid
FROM FROM
wms_inventory AS i wms_inventory AS i
LEFT JOIN wms_warehouse_rack AS r ON i.warehouseRackSid = r.sid LEFT JOIN wms_warehouse_rack AS r ON i.warehouseRackSid = r.sid
LEFT JOIN wms_warehouse_area AS a ON r.locationSid = a.sid LEFT JOIN wms_warehouse_area AS a ON r.locationSid = a.sid
LEFT JOIN wms_warehouse_info AS w ON i.warehouseSid = w.sid LEFT JOIN wms_warehouse_info AS w ON i.warehouseSid = w.sid
LEFT JOIN anrui_portal.sys_organization AS s ON i.useOrgSid = s.sid LEFT JOIN anrui_portal.sys_organization AS s ON i.useOrgSid = s.sid
) e) a ) e) a
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
@ -564,51 +561,49 @@
</select> </select>
<select id="selBillNoAndCode" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryReturnFactSelectList"> <select id="selBillNoAndCode" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryReturnFactSelectList">
SELECT SELECT wi.goodsID,
wi.goodsID, wi.goodsSpuSid,
wi.goodsSpuSid, wi.goodsSpuName,
wi.goodsSpuName, wi.goodsSkuSid,
wi.goodsSkuSid, wi.goodsSkuTitle,
wi.goodsSkuTitle, wi.goodsSkuCode,
wi.goodsSkuCode, wi.goodsSkuOwnSpec,
wi.goodsSkuOwnSpec, wi.manufacturerSid,
wi.manufacturerSid, wi.manufacturerName,
wi.manufacturerName, wi.unit,
wi.unit, wi.warehouseSid,
wi.warehouseSid, wi.warehouseName,
wi.warehouseName, wa.sid AS warehouseAreaSid,
wa.sid AS warehouseAreaSid, wa.areaName AS warehouseAreaName,
wa.areaName AS warehouseAreaName, wi.warehouseRackSid,
wi.warehouseRackSid, wr.rackName AS warehouseRackName,
wr.rackName AS warehouseRackName, wi.count
wi.count FROM wms_inventory wi
FROM LEFT JOIN wms_warehouse_rack wr
wms_inventory wi ON wi.warehouseRackSid = wr.sid
LEFT JOIN wms_warehouse_rack wr LEFT JOIN wms_warehouse_area wa
ON wi.warehouseRackSid = wr.sid ON wr.locationSid = wa.sid
LEFT JOIN wms_warehouse_area wa LEFT JOIN yxt_4sas.as_busrepair_inventorybill_detail ad
ON wr.locationSid = wa.sid ON wi.sid = ad.oldInventorySid
LEFT JOIN yxt_4sas.as_busrepair_inventorybill_detail ad LEFT JOIN yxt_4sas.as_busrepair_inventorybill ai
ON wi.sid = ad.oldInventorySid ON ad.billSid = ai.sid
LEFT JOIN yxt_4sas.as_busrepair_inventorybill ai LEFT JOIN yxt_4sas.as_busrepair_bill ab
ON ad.billSid = ai.sid ON ai.sourceBillSid = ab.sid
LEFT JOIN yxt_4sas.as_busrepair_bill ab LEFT JOIN yxt_4sas.as_busrepair_bill_vech av
ON ai.sourceBillSid = ab.sid ON ab.sid = av.billSid
LEFT JOIN yxt_4sas.as_busrepair_bill_vech av
ON ab.sid = av.billSid
WHERE ab.billNo = #{sourceBillNo} WHERE ab.billNo = #{sourceBillNo}
AND wi.goodsSkuCode = #{goodsSkuCode} AND wi.goodsSkuCode = #{goodsSkuCode}
AND wi.useOrgSid = #{deptSid} AND wi.useOrgSid = #{deptSid}
</select> </select>
<select id="selJJByDeptSidAndRackSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory"> <select id="selJJByDeptSidAndRackSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
SELECT wi.* SELECT wi.*
FROM wms_inventory wi FROM wms_inventory wi
LEFT JOIN wms_warehouse_info wwi LEFT JOIN wms_warehouse_info wwi
ON wi.`warehouseSid` = wwi.`sid` ON wi.warehouseSid = wwi.sid
WHERE wi.count > 0 WHERE wi.count > 0
AND wwi.`useOrgSid` = #{deptSid} AND wwi.useOrgSid = #{deptSid}
AND RIGHT(wi.`goodsID`,2) = '-O' AND RIGHT(wi.goodsID,2) = '-O'
AND wwi.warehouseTypeKey = '02' AND wwi.warehouseTypeKey = '02'
AND wi.warehouseRackSid in AND wi.warehouseRackSid in
<foreach item="rackSid" collection="rackSids" open="(" separator="," close=")"> <foreach item="rackSid" collection="rackSids" open="(" separator="," close=")">
@ -619,15 +614,18 @@
<select id="selJJByDeptSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory"> <select id="selJJByDeptSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
SELECT wi.* SELECT wi.*
FROM wms_inventory wi FROM wms_inventory wi
LEFT JOIN wms_warehouse_info wwi LEFT JOIN wms_warehouse_info wwi
ON wi.`warehouseSid` = wwi.`sid` ON wi.warehouseSid = wwi.sid
WHERE wi.count > 0 WHERE wi.count > 0
AND wwi.`useOrgSid` = #{deptSid} AND wwi.useOrgSid = #{deptSid}
AND wwi.warehouseTypeKey = '02' AND wwi.warehouseTypeKey = '02'
AND RIGHT(wi.`goodsID`,2) = '-O' AND RIGHT (wi.goodsID
, 2) = '-O'
</select> </select>
<select id="selbyGoodsId" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory"> <select id="selbyGoodsId" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
SELECT * FROM wms_inventory WHERE goodsID =#{goodsID} SELECT *
FROM wms_inventory
WHERE goodsID = #{goodsID}
</select> </select>
<select id="otherOutGoodsListPage" <select id="otherOutGoodsListPage"
@ -656,55 +654,62 @@
</select> </select>
<select id="deadStockList" resultType="com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockVo"> <select id="deadStockList" resultType="com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockVo">
SELECT * FROM SELECT * FROM
(SELECT (SELECT
s.orgSidPath, s.orgSidPath,
so.`name` useOrgName, so.name useOrgName,
s.`name` deptName, s.name deptName,
i.goodsSpuName, i.goodsSpuName,
i.goodsSkuCode, i.goodsSkuCode,
i.manufacturerName, i.manufacturerName,
i.supplierName, i.supplierName,
IFNULL(SUM(`count`),0) `count`, IFNULL(SUM(count),0) count,
DATEDIFF(NOW(),(SELECT MIN(wi.firstInDate) FROM wms_inventory as wi WHERE wi.count > 0 and wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid)) inventoryAge, DATEDIFF(NOW(),(SELECT MIN(wi.firstInDate) FROM wms_inventory as wi WHERE wi.count > 0 and wi.useOrgSid =
date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.busTypeValue = '销售出库'),'%Y-%m-%d') salesTime, i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid =
DATEDIFF(NOW(),(date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.busTypeValue = '销售出库'),'%Y-%m-%d'))) noSalesDays, i.supplierSid)) inventoryAge,
date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.billType = '1'),'%Y-%m-%d') storageTime, date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on
SUM(IFNULL(i.cost,0) * IFNULL(i.count,0)) totalCost, r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and
FORMAT((SUM(IFNULL(i.cost,0) * IFNULL(i.count,0))/IFNULL(SUM(count),0)),2) avgPrice wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.busTypeValue =
FROM '销售出库'),'%Y-%m-%d') salesTime,
wms_inventory as i DATEDIFF(NOW(),(date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as
LEFT JOIN anrui_portal.sys_organization as s ON i.useOrgSid = s.sid wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and
LEFT JOIN anrui_portal.sys_organization as so ON i.createOrgSid = so.sid wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.busTypeValue =
WHERE i.count > 0 '销售出库'),'%Y-%m-%d'))) noSalesDays,
GROUP BY i.goodsSkuSid,i.goodsSkuCode,i.useOrgSid,i.manufacturerSid,i.supplierSid) m date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on
r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and
wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.billType = '1'),'%Y-%m-%d')
storageTime,
SUM(IFNULL(i.cost,0) * IFNULL(i.count,0)) totalCost,
FORMAT((SUM(IFNULL(i.cost,0) * IFNULL(i.count,0))/IFNULL(SUM(count),0)),2) avgPrice
FROM
wms_inventory as i
LEFT JOIN anrui_portal.sys_organization as s ON i.useOrgSid = s.sid
LEFT JOIN anrui_portal.sys_organization as so ON i.createOrgSid = so.sid
WHERE i.count > 0
GROUP BY i.goodsSkuSid,i.goodsSkuCode,i.useOrgSid,i.manufacturerSid,i.supplierSid) m
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
</select> </select>
<select id="selByGoodsIdAndRackSid" resultType="java.lang.String"> <select id="selByGoodsIdAndRackSid" resultType="java.lang.String">
SELECT SELECT sid
sid FROM wms_inventory
FROM
wms_inventory
WHERE goodsID = #{goodsID} WHERE goodsID = #{goodsID}
AND warehouseRackSid = #{warehouseRackSid} AND warehouseRackSid = #{warehouseRackSid}
</select> </select>
<select id="compute" resultType="java.math.BigDecimal"> <select id="compute" resultType="java.math.BigDecimal">
SELECT SELECT IFNULL(SUM(COUNT * cost) / SUM(COUNT), 0) AS total
IFNULL(SUM(COUNT * cost) / SUM(COUNT), 0) AS total FROM wms_inventory
FROM
wms_inventory
WHERE goodsSkuSid = #{skuSid} WHERE goodsSkuSid = #{skuSid}
AND COUNT> 0 AND COUNT > 0
</select> </select>
<select id="selCJByDeptSidAndRackSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory"> <select id="selCJByDeptSidAndRackSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
SELECT wi.* SELECT wi.*
FROM wms_inventory wi FROM wms_inventory wi
LEFT JOIN wms_warehouse_info wwi LEFT JOIN wms_warehouse_info wwi
ON wi.`warehouseSid` = wwi.`sid` ON wi.warehouseSid = wwi.sid
WHERE wi.count > 0 WHERE wi.count > 0
AND wwi.useOrgSid = #{deptSid} AND wwi.useOrgSid = #{deptSid}
AND wwi.warehouseTypeKey = '03' AND wwi.warehouseTypeKey = '03'
@ -729,25 +734,36 @@
(SELECT (SELECT
i.goodsID, i.goodsID,
s.orgSidPath, s.orgSidPath,
so.`name` useOrgName, so.name useOrgName,
s.`name` deptName, s.name deptName,
i.goodsSpuName, i.goodsSpuName,
i.goodsSkuCode, i.goodsSkuCode,
i.goodsSkuOwnSpec, i.goodsSkuOwnSpec,
i.unit, i.unit,
IFNULL(SUM(`count`),0) `count`, IFNULL(SUM(count),0) count,
IFNULL(i.cost,0) `cost`, IFNULL(i.cost,0) cost,
SUM(IFNULL(i.cost,0) * IFNULL(i.count,0)) costTotal, SUM(IFNULL(i.cost,0) * IFNULL(i.count,0)) costTotal,
(SELECT IFNULL(salesPrice,0) FROM yxt_base.base_goods_sku_extend as sku WHERE sku.sid = i.goodsSkuSid) price, (SELECT IFNULL(salesPrice,0) FROM yxt_base.base_goods_sku_extend as sku WHERE sku.sid = i.goodsSkuSid) price,
i.warehouseName, i.warehouseName,
wa.areaName wareAreaName, wa.areaName wareAreaName,
i.warehouseRackCode, i.warehouseRackCode,
i.manufacturerName, i.manufacturerName,
i.supplierName, i.supplierName,
(SELECT MIN(wi.firstInDate) FROM wms_inventory as wi WHERE wi.count > 0 and wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid AND wi.warehouseRackCode = i.warehouseRackCode) firstInDate, (SELECT MIN(wi.firstInDate) FROM wms_inventory as wi WHERE wi.count > 0 and wi.useOrgSid = i.useOrgSid and
date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid AND wi.warehouseRackCode = i.warehouseRackCode and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.billType = '1'),'%Y-%m-%d') storageTime, -- 最近一次入库时间 wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid
date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid AND wi.warehouseRackCode = i.warehouseRackCode and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.busTypeValue = '销售出库'),'%Y-%m-%d') salesTime, -- 最近一次销售日期 AND wi.warehouseRackCode = i.warehouseRackCode) firstInDate,
DATEDIFF(NOW(),date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid AND wi.warehouseRackCode = i.warehouseRackCode and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.billType = '1'),'%Y-%m-%d')) inventoryAge, date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on
r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid AND wi.warehouseRackCode = i.warehouseRackCode and
wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid
and r.billType = '1'),'%Y-%m-%d') storageTime, -- 最近一次入库时间
date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on
r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid AND wi.warehouseRackCode = i.warehouseRackCode and
wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid
and r.busTypeValue = '销售出库'),'%Y-%m-%d') salesTime, -- 最近一次销售日期
DATEDIFF(NOW(),date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as
wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid AND wi.warehouseRackCode = i.warehouseRackCode
and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid =
i.supplierSid and r.billType = '1'),'%Y-%m-%d')) inventoryAge,
i.manufactorBillNo, i.manufactorBillNo,
pb.payTypeValue procurementMethod, pb.payTypeValue procurementMethod,
pb.purchaseTypeValue, pb.purchaseTypeValue,
@ -760,14 +776,35 @@
LEFT JOIN wms_warehouse_area as wa ON wa.sid = ra.locationSid LEFT JOIN wms_warehouse_area as wa ON wa.sid = ra.locationSid
LEFT JOIN yxt_pms.pms_purchase_bill as pb ON pb.manufacturersOrderNumber = i.manufactorBillNo LEFT JOIN yxt_pms.pms_purchase_bill as pb ON pb.manufacturersOrderNumber = i.manufactorBillNo
WHERE i.count > 0 WHERE i.count > 0
GROUP BY i.goodsID,i.goodsSkuSid,i.goodsSkuCode,i.useOrgSid,i.manufacturerSid,i.supplierSid,i.warehouseRackCode,i.manufactorBillNo) m GROUP BY
i.goodsID,i.goodsSkuSid,i.goodsSkuCode,i.useOrgSid,i.manufacturerSid,i.supplierSid,i.warehouseRackCode,i.manufactorBillNo)
m
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
</select> </select>
<select id="selOaInventoryList" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory"> <select id="selOaInventoryList" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
select wi.* from wms_inventory as wi select wi.*
LEFT JOIN wms_warehouse_info wwi on wi.warehouseSid = wwi.sid from wms_inventory as wi
where wi.count > 0 and wi.useOrgSid =#{useOrgSid} and wwi.warehouseTypeValue =#{warehouseTypeValue} LEFT JOIN wms_warehouse_info wwi on wi.warehouseSid = wwi.sid
where wi.count > 0
and wi.useOrgSid = #{useOrgSid}
and wwi.warehouseTypeValue = #{warehouseTypeValue}
</select>
<select id="selBySpuSidAndUseOrgSidWarehouseSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
SELECT
*
FROM
wms_inventory
WHERE goodsSpuSid = #{spuSid}
AND useOrgSid = #{useOrgSid}
AND warehouseSid = #{warehouseSid}
<if test="sids != null and sids.size() != 0">
AND sid NOT IN
<foreach collection="sids" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select> </select>
</mapper> </mapper>

101
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java

@ -2,6 +2,7 @@ package com.yxt.wms.biz.inventory.wmsinventory;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
@ -12,10 +13,7 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import com.yxt.wms.biz.base.wmswarehouserack.WmsHouseInfoVo; import com.yxt.wms.biz.base.wmswarehouserack.WmsHouseInfoVo;
import com.yxt.wms.biz.base.wmswarehouserack.WmsWarehouseRackService; import com.yxt.wms.biz.base.wmswarehouserack.WmsWarehouseRackService;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsListTagH5Vo; import com.yxt.wms.biz.inventory.wmsinventory.appH5.*;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTagH5Vo;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackH5Vo;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackListVo;
import com.yxt.wms.biz.inventory.wmsinventory.appInventory.*; import com.yxt.wms.biz.inventory.wmsinventory.appInventory.*;
import com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockQuery; import com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockQuery;
import com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockVo; import com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockVo;
@ -59,6 +57,7 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
private SysUserFeign sysUserFeign; private SysUserFeign sysUserFeign;
@Autowired @Autowired
private BaseGoodsSkuExtendFeign baseGoodsSkuExtendFeign; private BaseGoodsSkuExtendFeign baseGoodsSkuExtendFeign;
public PagerVo<WmsInventoryVo> listPage(PagerQuery<WmsInventoryQuery> pq) { public PagerVo<WmsInventoryVo> listPage(PagerQuery<WmsInventoryQuery> pq) {
WmsInventoryQuery query = pq.getParams(); WmsInventoryQuery query = pq.getParams();
QueryWrapper<WmsInventory> qw = new QueryWrapper<>(); QueryWrapper<WmsInventory> qw = new QueryWrapper<>();
@ -739,6 +738,72 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
return vo; return vo;
} }
public GoodsTwoVo goods2(GoodsTwoQuery query) {
GoodsTwoVo goodsTwoVo = new GoodsTwoVo();
String deptSid = "";
List<String> split = Arrays.asList(query.getOrgPath().split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptSid = sysOrganization.getSid();
}
if (StringUtils.isBlank(query.getStoreSid())) {
List<WmsInventory> wmsInventoryList = baseMapper.selBySpuSidAndUseOrgSid(query.getSid(), deptSid);
goodsTwoVo.setGoodsName(wmsInventoryList.get(0).getGoodsSkuTitle());
goodsTwoVo.setNumId(wmsInventoryList.get(0).getGoodsSkuCode());
goodsTwoVo.setProvider(wmsInventoryList.get(0).getSupplierName());
goodsTwoVo.setInboundTime(DateUtil.formatDate(wmsInventoryList.get(0).getFirstInDate()));
goodsTwoVo.setGoodsSkuOwnSpec(wmsInventoryList.get(0).getGoodsSkuOwnSpec());
goodsTwoVo.setUnit(wmsInventoryList.get(0).getUnit());
List<GoodsTwoListVo> list = new ArrayList<>();
for (WmsInventory wmsInventory : wmsInventoryList) {
GoodsTwoListVo goodsTwoListVo = new GoodsTwoListVo();
goodsTwoListVo.setSid(wmsInventory.getSid());
goodsTwoListVo.setGoodsName(wmsInventory.getGoodsSkuTitle());
goodsTwoListVo.setNumId(wmsInventory.getGoodsSkuCode());
goodsTwoListVo.setStore(wmsInventory.getWarehouseName());
goodsTwoListVo.setStoreSid(wmsInventory.getWarehouseSid());
goodsTwoListVo.setCount(wmsInventory.getCount().toString());
goodsTwoListVo.setMaxCount(wmsInventory.getCount().toString());
goodsTwoListVo.setHouseInfo("保内-" + wmsInventory.getWarehouseName() + " " + wmsInventory.getWarehouseRackCode());
if (wmsInventory.getCount().compareTo(BigDecimal.ONE) == 0) {
goodsTwoListVo.setForbid(true);
}
list.add(goodsTwoListVo);
}
goodsTwoVo.setList(list);
return goodsTwoVo;
}
List<WmsInventory> wmsInventoryList = baseMapper.selBySpuSidAndUseOrgSidWarehouseSid(query.getSid(), deptSid, query.getStoreSid(), query.getSids());
goodsTwoVo.setGoodsName(wmsInventoryList.get(0).getGoodsSkuTitle());
goodsTwoVo.setNumId(wmsInventoryList.get(0).getGoodsSkuCode());
goodsTwoVo.setProvider(wmsInventoryList.get(0).getSupplierName());
goodsTwoVo.setInboundTime(DateUtil.formatDate(wmsInventoryList.get(0).getFirstInDate()));
goodsTwoVo.setGoodsSkuOwnSpec(wmsInventoryList.get(0).getGoodsSkuOwnSpec());
goodsTwoVo.setUnit(wmsInventoryList.get(0).getUnit());
List<GoodsTwoListVo> list = new ArrayList<>();
for (WmsInventory wmsInventory : wmsInventoryList) {
GoodsTwoListVo goodsTwoListVo = new GoodsTwoListVo();
goodsTwoListVo.setSid(wmsInventory.getSid());
goodsTwoListVo.setGoodsName(wmsInventory.getGoodsSkuTitle());
goodsTwoListVo.setNumId(wmsInventory.getGoodsSkuCode());
goodsTwoListVo.setStore(wmsInventory.getWarehouseName());
goodsTwoListVo.setStoreSid(wmsInventory.getWarehouseSid());
goodsTwoListVo.setCount(wmsInventory.getCount().toString());
goodsTwoListVo.setMaxCount(wmsInventory.getCount().toString());
goodsTwoListVo.setHouseInfo("保内-" + wmsInventory.getWarehouseName() + " " + wmsInventory.getWarehouseRackCode());
if (wmsInventory.getCount().compareTo(BigDecimal.ONE) == 0) {
goodsTwoListVo.setForbid(true);
}
list.add(goodsTwoListVo);
}
goodsTwoVo.setList(list);
return goodsTwoVo;
}
public List<WmsInventory> selByDeptSid(String deptSid) { public List<WmsInventory> selByDeptSid(String deptSid) {
return baseMapper.selByDeptSid(deptSid); return baseMapper.selByDeptSid(deptSid);
} }
@ -1300,7 +1365,7 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
useOrgSid = sysOrganization.getSid(); useOrgSid = sysOrganization.getSid();
} }
} }
List<WmsInventory> inventories = baseMapper.selOaInventoryList(useOrgSid,warehouseTypeValue); List<WmsInventory> inventories = baseMapper.selOaInventoryList(useOrgSid, warehouseTypeValue);
if (!inventories.isEmpty()) { if (!inventories.isEmpty()) {
for (WmsInventory d : inventories) { for (WmsInventory d : inventories) {
FormCommon f = new FormCommon(); FormCommon f = new FormCommon();
@ -1308,26 +1373,26 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
f.setDictValue(d.getGoodsSpuName()); f.setDictValue(d.getGoodsSpuName());
Map<String, Object> extra = new HashMap<>(); Map<String, Object> extra = new HashMap<>();
if (null != d.getCount()) { if (null != d.getCount()) {
extra.put("count",d.getCount().toString()); extra.put("count", d.getCount().toString());
} }
if (StringUtils.isNotBlank(d.getGoodsSkuOwnSpec())) { if (StringUtils.isNotBlank(d.getGoodsSkuOwnSpec())) {
extra.put("goodsSkuOwnSpec",d.getGoodsSkuOwnSpec()); extra.put("goodsSkuOwnSpec", d.getGoodsSkuOwnSpec());
} }
if (StringUtils.isNotBlank(d.getGoodsSkuSid())) { if (StringUtils.isNotBlank(d.getGoodsSkuSid())) {
extra.put("goodsSkuSid",d.getGoodsSkuSid()); extra.put("goodsSkuSid", d.getGoodsSkuSid());
} }
if (StringUtils.isNotBlank(d.getGoodsSpuSid())) { if (StringUtils.isNotBlank(d.getGoodsSpuSid())) {
extra.put("goodsSpuSid",d.getGoodsSpuSid()); extra.put("goodsSpuSid", d.getGoodsSpuSid());
} }
if (StringUtils.isNotBlank(d.getUnit())) { if (StringUtils.isNotBlank(d.getUnit())) {
extra.put("unit",d.getUnit()); extra.put("unit", d.getUnit());
} }
if (warehouseTypeValue.equals("招待库")) { if (warehouseTypeValue.equals("招待库")) {
String price = baseGoodsSkuExtendFeign.selSalesPrice(d.getGoodsSkuSid()).getData(); String price = baseGoodsSkuExtendFeign.selSalesPrice(d.getGoodsSkuSid()).getData();
if (StringUtils.isNotBlank(price)) { if (StringUtils.isNotBlank(price)) {
extra.put("price",price); extra.put("price", price);
} else { } else {
extra.put("price",""); extra.put("price", "");
} }
} }
f.setExtra(extra); f.setExtra(extra);
@ -1342,4 +1407,16 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
String count = baseMapper.selCountByGoodsID(goodsID); String count = baseMapper.selCountByGoodsID(goodsID);
return rb.success().setData(count); return rb.success().setData(count);
} }
public ResultBean<List<WmsInventory>> selByGoodsIDAndUseOrgSid(String goodID, String useOrgSid) {
ResultBean rb = ResultBean.fireFail();
List<WmsInventory> wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSid(goodID, useOrgSid);
return rb.success().setData(wmsInventoryList);
}
public ResultBean<List<WmsInventory>> selByGoodsIDAndUseOrgSidAndWarehouseSid(String goodID, String useOrgSid, String warehouseSid) {
ResultBean rb = ResultBean.fireFail();
List<WmsInventory> wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSidAndWarehouseSid(goodID, useOrgSid, warehouseSid);
return rb.success().setData(wmsInventoryList);
}
} }

48
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoListVo.java

@ -0,0 +1,48 @@
package com.yxt.wms.biz.inventory.wmsinventory.appH5;
import lombok.Data;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/6/26 10:40
*/
@Data
public class GoodsTwoListVo {
private String sid;
/**
* 商品名称
*/
private String goodsName;
/**
* 图号
*/
private String numId;
/**
* 仓库
*/
private String store;
/**
* 仓库sid
*/
private String storeSid;
/**
* 可调数量
*/
private String count;
/**
* 最大可调数量
*/
private String maxCount;
/**
* 格式例保内-仓库 库位编码
*/
private String houseInfo;
/**
* 是否禁止修改(maxCount=1 true)
*/
private Boolean forbid = false;
}

28
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoQuery.java

@ -0,0 +1,28 @@
package com.yxt.wms.biz.inventory.wmsinventory.appH5;
import lombok.Data;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/6/26 10:40
*/
@Data
public class GoodsTwoQuery {
private String orgPath;
/**
* 商品sid
*/
private String sid;
/**
* 需要去重的库存sid
*/
private List<String> sids;
/**
* 仓库sid
*/
private String storeSid;
}

41
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoVo.java

@ -0,0 +1,41 @@
package com.yxt.wms.biz.inventory.wmsinventory.appH5;
import lombok.Data;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/6/26 10:40
*/
@Data
public class GoodsTwoVo {
/**
* 商品名称
*/
private String goodsName;
/**
* 图号
*/
private String numId;
/**
* 供应商
*/
private String provider;
/**
* 首次入库日期
*/
private String inboundTime;
/**
* 规格
*/
private String goodsSkuOwnSpec;
/**
* 计量单位
*/
private String unit;
private List<GoodsTwoListVo> list;
}
Loading…
Cancel
Save