Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 5 months ago
parent
commit
aef4f5a85c
  1. 98
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/AppStandRecordApplyDetailsVo.java
  2. 64
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/AppStandRecordApplyFeign.java
  3. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppDelegateQuery.java
  4. 37
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppFlowDto.java
  5. 28
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppFlowQuery.java
  6. 47
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppFlowTaskQuery.java
  7. 85
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/standrecordapply/AppStandRecordApplyRest.java
  8. 191
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/standrecordapply/AppStandRecordApplyService.java
  9. 114
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/AsStandRecordApplyDetailsVo.java
  10. 59
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/AsStandRecordApplyFegin.java
  11. 35
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/AsStandRecordApplyUrl.java
  12. 35
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/CompleteStandRecordApplyDto.java
  13. 23
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyDelegateQuery.java
  14. 18
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyNodeQuery.java
  15. 24
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyNodeVo.java
  16. 43
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyTaskQuery.java
  17. 7
      yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSkuExtendRest.java
  18. 8
      yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSkuRest.java
  19. 2
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.java
  20. 10
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.xml
  21. 4
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuService.java
  22. 10
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.java
  23. 29
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java
  24. 8
      yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsPricestrategyBillDetailRest.java
  25. 17
      yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsPricestrategyBillGoodstypedetailRest.java
  26. 1172
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybill/SmsPricestrategyBillService.java
  27. 2
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailMapper.java
  28. 12
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailMapper.xml
  29. 7
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailService.java
  30. 5
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventoryFeign.java
  31. 6
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventoryFeignFallback.java
  32. 5
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventoryrecord/WmsInventoryRecordFeign.java
  33. 26
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/yxtbase/BaseGoodsSkuExtendFeign.java
  34. 31
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/yxtbase/BaseGoodsSkuFeign.java
  35. 36
      yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRecordRest.java
  36. 40
      yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java
  37. 3
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java
  38. 26
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml
  39. 17
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryQuery.java
  40. 166
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java
  41. 9
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryVo.java
  42. 78
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryVoExcelVo.java
  43. 6
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordListVo.java
  44. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordMapper.java
  45. 105
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordMapper.xml
  46. 136
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java
  47. 42
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsExcelVo.java
  48. 14
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsQuery.java
  49. 29
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsVo.java
  50. 28
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java
  51. 24
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/base/basegoodsskuextend/BaseGoodsSkuExtendFeign.java
  52. 25
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smspricestrategybilldetail/SmsPricesTrategyBillDetailFeign.java
  53. 26
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smsspricestrategybillgoodstypedetail/SmsPricesTrategyBillGoodsTypeDetailFeign.java
  54. 64
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smsspricestrategybillgoodstypedetail/SmsPricestrategyBillGoodstypedetailDetailsVo.java

98
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/AppStandRecordApplyDetailsVo.java

@ -0,0 +1,98 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.api.as.standrecordapply;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* Project: anrui-scm(合作二级站备案申请) <br/>
* File: ScmStandRecordApplyVo.java <br/>
* Class: com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApplyVo <br/>
* Description: 合作二级站备案申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-10-22 16:05:59 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "合作二级站备案申请 视图数据详情", description = "合作二级站备案申请 视图数据详情")
public class AppStandRecordApplyDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("流程实例的sid")
private String procInsId;
@ApiModelProperty("taskId")
private String taskId;
@ApiModelProperty("申请部门名称")
private String deptName;
@ApiModelProperty("创建人姓名")
private String createByName;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("申请日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime;
@ApiModelProperty("二级站名称")
private String siteName; // 二级站名称
@ApiModelProperty("法人")
private String legalPerson; // 法人
@ApiModelProperty("法人电话")
private String phone; // 法人电话
@ApiModelProperty("负责人")
private String directorName; // 负责人
@ApiModelProperty("负责人电话")
private String directorPhone; // 负责人电话
@ApiModelProperty("社会统一信用代码")
private String unifiedCreditCode; // 社会统一信用代码
@ApiModelProperty("证件有效期")
private String termValidity; // 证件有效期
@ApiModelProperty("地址")
private String address; // 地址
@ApiModelProperty("合作有效期")
private String limitedTerm; // 合作有效期
@ApiModelProperty("授信金额")
private BigDecimal creditGranting; // 授信金额
@ApiModelProperty("营业执照")
private List<String> appBusinessLicenseFile = new ArrayList<>();
@ApiModelProperty("合作协议")
private List<String> appAgreementFile = new ArrayList<>();
@ApiModelProperty("其他资料")
private List<String> appOtherFile = new ArrayList<>();
}

64
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/AppStandRecordApplyFeign.java

@ -0,0 +1,64 @@
package com.yxt.anrui.terminal.api.as.standrecordapply;
import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppDelegateQuery;
import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowDto;
import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowQuery;
import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowTaskQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
/**
* @Author
* @Date
* @Description
*/
@FeignClient(
contextId = "terminal-AppStandRecordApply",
name = "anrui-terminal",
path = "v1/secondaryCooperativeStation")
public interface AppStandRecordApplyFeign {
@ApiOperation("详情")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<AppStandRecordApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
/**********************************************流程********************************************/
@ApiOperation("办理")
@PutMapping("/agreeCreditInfo")
@ResponseBody
ResultBean agreeCreditInfo(@RequestBody AppFlowDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectCreditInfo")
@ResponseBody
ResultBean rejectCreditInfo(@RequestBody AppFlowTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallCreditInfo")
@ResponseBody
ResultBean recallCreditInfo(@RequestBody AppFlowTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopCreditInfo")
@ResponseBody
ResultBean stopCreditInfo(@RequestBody AppFlowTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap AppFlowQuery query);
@ApiOperation(value = "加签")
@PutMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody AppDelegateQuery delegateQuery);
@ApiOperation(value = "转办")
@PutMapping(value = "/assignTask")
@ResponseBody
public ResultBean assignTask(@RequestBody AppDelegateQuery delegateQuery);
}

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppDelegateQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.terminal.api.as.standrecordapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/28 10:16
*/
@Data
public class AppDelegateQuery {
@ApiModelProperty
private String userSid;
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

37
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppFlowDto.java

@ -0,0 +1,37 @@
package com.yxt.anrui.terminal.api.as.standrecordapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/8/9 14:09
* @Description
*/
@Data
public class AppFlowDto implements Dto {
private static final long serialVersionUID = 3626473483180150495L;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

28
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppFlowQuery.java

@ -0,0 +1,28 @@
package com.yxt.anrui.terminal.api.as.standrecordapply.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @Author dimengzhe
* @Date 2022/8/9 14:15
* @Description
*/
@Data
public class AppFlowQuery implements Query {
private static final long serialVersionUID = 5514095179438249641L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
@ApiModelProperty("组织机构全路径")
private String orgPath;
}

47
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppFlowTaskQuery.java

@ -0,0 +1,47 @@
package com.yxt.anrui.terminal.api.as.standrecordapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/8/9 14:11
* @Description
*/
@Data
public class AppFlowTaskQuery implements Query {
private static final long serialVersionUID = -7082170710942810289L;
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
@JsonProperty("procInsId")
private String instanceId;
}

85
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/standrecordapply/AppStandRecordApplyRest.java

@ -0,0 +1,85 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.as.standrecordapply;
import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppDelegateQuery;
import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowDto;
import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowQuery;
import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowTaskQuery;
import com.yxt.anrui.terminal.api.as.standrecordapply.AppStandRecordApplyDetailsVo;
import com.yxt.anrui.terminal.api.as.standrecordapply.AppStandRecordApplyFeign;
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/secondaryCooperativeStation")
public class AppStandRecordApplyRest implements AppStandRecordApplyFeign {
@Autowired
private AppStandRecordApplyService appStandRecordApplyService;
@Override
public ResultBean<AppStandRecordApplyDetailsVo> fetchDetailsBySid(String sid) {
return appStandRecordApplyService.fetchDetailsBySid(sid);
}
@Override
public ResultBean agreeCreditInfo(AppFlowDto dto) {
return appStandRecordApplyService.agreeCreditInfo(dto);
}
@Override
public ResultBean rejectCreditInfo(AppFlowTaskQuery query) {
return appStandRecordApplyService.rejectCreditInfo(query);
}
@Override
public ResultBean recallCreditInfo(AppFlowTaskQuery query) {
return appStandRecordApplyService.recallCreditInfo(query);
}
@Override
public ResultBean stopCreditInfo(AppFlowTaskQuery query) {
return appStandRecordApplyService.stopCreditInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(AppFlowQuery query) {
return appStandRecordApplyService.getFlowOperateTitle(query);
}
@Override
public ResultBean delegate(AppDelegateQuery delegateQuery) {
return appStandRecordApplyService.delegate(delegateQuery);
}
@Override
public ResultBean assignTask(AppDelegateQuery delegateQuery) {
return appStandRecordApplyService.assignTask(delegateQuery);
}
}

191
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/standrecordapply/AppStandRecordApplyService.java

@ -0,0 +1,191 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.as.standrecordapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.terminal.api.as.standrecordapply.AppStandRecordApplyDetailsVo;
import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppDelegateQuery;
import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowDto;
import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowQuery;
import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowTaskQuery;
import com.yxt.anrui.terminal.fegin.asstandrecordapply.AsStandRecordApplyDetailsVo;
import com.yxt.anrui.terminal.fegin.asstandrecordapply.AsStandRecordApplyFegin;
import com.yxt.anrui.terminal.fegin.asstandrecordapply.AsStandRecordApplyUrl;
import com.yxt.anrui.terminal.fegin.asstandrecordapply.flowable.*;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@Service
public class AppStandRecordApplyService {
@Resource
private AsStandRecordApplyFegin asStandRecordApplyFegin;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysUserFeign sysUserFeign;
public ResultBean<AppStandRecordApplyDetailsVo> fetchDetailsBySid(String sid) {
ResultBean rb = ResultBean.fireFail();
AsStandRecordApplyDetailsVo data = asStandRecordApplyFegin.fetchDetailsBySid(sid).getData();
AppStandRecordApplyDetailsVo appStandRecordApplyDetailsVo = new AppStandRecordApplyDetailsVo();
BeanUtil.copyProperties(data,appStandRecordApplyDetailsVo);
appStandRecordApplyDetailsVo.setProcInsId(data.getProcInstId());
List<AsStandRecordApplyUrl> businessLicenseFile = data.getBusinessLicenseFile();
List<AsStandRecordApplyUrl> agreementFile = data.getAgreementFile();
List<AsStandRecordApplyUrl> otherFile = data.getOtherFile();
ArrayList<String> appBusinessLicenseFile = new ArrayList<>();
ArrayList<String> appAgreementFile = new ArrayList<>();
ArrayList<String> appOtherFile = new ArrayList<>();
for (AsStandRecordApplyUrl asStandRecordApplyUrl : businessLicenseFile) {
appBusinessLicenseFile.add(asStandRecordApplyUrl.getUrl());
}
for (AsStandRecordApplyUrl asStandRecordApplyUrl : agreementFile) {
appAgreementFile.add(asStandRecordApplyUrl.getUrl());
}
for (AsStandRecordApplyUrl asStandRecordApplyUrl : otherFile) {
appOtherFile.add(asStandRecordApplyUrl.getUrl());
}
appStandRecordApplyDetailsVo.setAppBusinessLicenseFile(appBusinessLicenseFile);
appStandRecordApplyDetailsVo.setAppAgreementFile(appAgreementFile);
appStandRecordApplyDetailsVo.setAppOtherFile(appOtherFile);
return rb.success().setData(appStandRecordApplyDetailsVo);
}
public ResultBean agreeCreditInfo(AppFlowDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
CompleteStandRecordApplyDto completeStandRecordApplyDto = new CompleteStandRecordApplyDto();
BeanUtil.copyProperties(dto, completeStandRecordApplyDto);
completeStandRecordApplyDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = asStandRecordApplyFegin.complete(completeStandRecordApplyDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectCreditInfo(AppFlowTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
StandRecordApplyTaskQuery standRecordApplyTaskQuery = new StandRecordApplyTaskQuery();
BeanUtil.copyProperties(query, standRecordApplyTaskQuery);
ResultBean resultBean = asStandRecordApplyFegin.taskReject(standRecordApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallCreditInfo(AppFlowTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
StandRecordApplyTaskQuery standRecordApplyTaskQuery = new StandRecordApplyTaskQuery();
BeanUtil.copyProperties(query, standRecordApplyTaskQuery);
ResultBean resultBean = asStandRecordApplyFegin.revokeProcess(standRecordApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopCreditInfo(AppFlowTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
StandRecordApplyTaskQuery standRecordApplyTaskQuery = new StandRecordApplyTaskQuery();
BeanUtil.copyProperties(query, standRecordApplyTaskQuery);
ResultBean resultBean = asStandRecordApplyFegin.breakProcess(standRecordApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(AppFlowQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
StandRecordApplyNodeQuery getNodeQuery = new StandRecordApplyNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<StandRecordApplyNodeVo>> getPreviousNodesForReject = asStandRecordApplyFegin.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<StandRecordApplyNodeVo>> getNextNodesForSubmit = asStandRecordApplyFegin.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
public ResultBean delegate(AppDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
StandRecordApplyDelegateQuery delegateQuery1 = new
StandRecordApplyDelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
asStandRecordApplyFegin.delegate(delegateQuery1);
return rb.success();
}
public ResultBean assignTask(AppDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
StandRecordApplyDelegateQuery delegateQuery1 = new
StandRecordApplyDelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
asStandRecordApplyFegin.assignTask(delegateQuery1);
return rb.success();
}
}

114
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/AsStandRecordApplyDetailsVo.java

@ -0,0 +1,114 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.fegin.asstandrecordapply;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* Project: anrui-scm(合作二级站备案申请) <br/>
* File: ScmStandRecordApplyVo.java <br/>
* Class: com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApplyVo <br/>
* Description: 合作二级站备案申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-10-22 16:05:59 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "合作二级站备案申请 视图数据详情", description = "合作二级站备案申请 视图数据详情")
public class AsStandRecordApplyDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("创建人sid")
private String createBySid;
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("申请日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime;
@ApiModelProperty("创建人姓名")
private String createByName; // 创建人姓名
@ApiModelProperty("申请编号")
private String billNo;
@ApiModelProperty("申请部门sid")
private String deptSid; // 申请部门sid
@ApiModelProperty("申请部门名称")
private String deptName; // 申请部门名称
@ApiModelProperty("二级站名称")
private String siteName; // 二级站名称
@ApiModelProperty("法人")
private String legalPerson; // 法人
@ApiModelProperty("法人电话")
private String phone; // 法人电话
@ApiModelProperty("负责人")
private String directorName; // 负责人
@ApiModelProperty("负责人电话")
private String directorPhone; // 负责人电话
@ApiModelProperty("社会统一信用代码")
private String unifiedCreditCode; // 社会统一信用代码
@ApiModelProperty("证件有效期")
private String termValidity; // 证件有效期
@ApiModelProperty("地址")
private String address; // 地址
@ApiModelProperty("合作有效期")
private String limitedTerm; // 合作有效期
@ApiModelProperty("授信金额")
private BigDecimal creditGranting; // 授信金额
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("环节定义的sid")
private String nodeSid; // 环节定义的sid
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("taskId")
private String taskId; // taskId
@ApiModelProperty("营业执照")
private List<AsStandRecordApplyUrl> businessLicenseFile = new ArrayList<>();
@ApiModelProperty("合作协议")
private List<AsStandRecordApplyUrl> agreementFile = new ArrayList<>();
@ApiModelProperty("其他资料")
private List<AsStandRecordApplyUrl> otherFile = new ArrayList<>();
}

59
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/AsStandRecordApplyFegin.java

@ -0,0 +1,59 @@
package com.yxt.anrui.terminal.fegin.asstandrecordapply;
import com.yxt.anrui.terminal.fegin.asstandrecordapply.flowable.*;
import com.yxt.anrui.terminal.fegin.astechtitleapply.flowable.*;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@FeignClient(
contextId = "yxt-as-AsStandRecordApply",
name = "yxt-as",
path = "v1/secondaryCooperativeStation"
)
public interface AsStandRecordApplyFegin {
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<AsStandRecordApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody CompleteStandRecordApplyDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<StandRecordApplyNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap StandRecordApplyNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<StandRecordApplyNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap StandRecordApplyNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@Valid @RequestBody StandRecordApplyTaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody StandRecordApplyTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody StandRecordApplyTaskQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody StandRecordApplyDelegateQuery query);
@ApiOperation(value = "转办")
@PutMapping(value = "/assignTask")
@ResponseBody
public ResultBean assignTask(@RequestBody StandRecordApplyDelegateQuery query);
}

35
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/AsStandRecordApplyUrl.java

@ -0,0 +1,35 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.fegin.asstandrecordapply;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
@Data
public class AsStandRecordApplyUrl implements Vo {
private String url;
}

35
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/CompleteStandRecordApplyDto.java

@ -0,0 +1,35 @@
package com.yxt.anrui.terminal.fegin.asstandrecordapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class CompleteStandRecordApplyDto {
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "用户全路径sid")
private String orgSidPath;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:instanceId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
}

23
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyDelegateQuery.java

@ -0,0 +1,23 @@
package com.yxt.anrui.terminal.fegin.asstandrecordapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class StandRecordApplyDelegateQuery {
private String userSid;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

18
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyNodeQuery.java

@ -0,0 +1,18 @@
package com.yxt.anrui.terminal.fegin.asstandrecordapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class StandRecordApplyNodeQuery {
@ApiModelProperty(value = "环节定义id")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
}

24
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyNodeVo.java

@ -0,0 +1,24 @@
package com.yxt.anrui.terminal.fegin.asstandrecordapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class StandRecordApplyNodeVo {
@ApiModelProperty(value = "节点名称")
private String name;
@ApiModelProperty(value = "节点id")
private String id;
@ApiModelProperty(value = "审批组")
private List<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

43
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyTaskQuery.java

@ -0,0 +1,43 @@
package com.yxt.anrui.terminal.fegin.asstandrecordapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class StandRecordApplyTaskQuery {
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
private String instanceId;
}

7
yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSkuExtendRest.java

@ -47,9 +47,16 @@ public class BaseGoodsSkuExtendRest {
public ResultBean delete(@PathVariable("sid") String sid) {
return baseGoodsSkuExtendService.delete(sid);
}
@ApiOperation("更改可用状态")
@GetMapping("/updateIsEnable/{sid}/{isEnable}")
public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable) {
return baseGoodsSkuExtendService.updateIsEnable(sid,isEnable);
}
@ApiOperation("根据skuSid修改销售单价")
@PostMapping("/updateSalesPrice")
ResultBean updateSalesPrice(@RequestParam("skuSid") String skuSid,@RequestParam("salesPrice") String salesPrice){
return baseGoodsSkuExtendService.updateSalesPrice(skuSid,salesPrice);
}
}

8
yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSkuRest.java

@ -87,4 +87,12 @@ public class BaseGoodsSkuRest {
List<GoodsDeptVo> goodsDeptVos = baseGoodsSkuService.selectGoods(name,orgPath);
return rb.success().setData(goodsDeptVos);
}
@ApiOperation("根据商品类别sid查询对应的skusid")
@PostMapping("/fetchSkuSid")
ResultBean<List<String>> fetchSkuSid(@RequestParam("goodTypeSid") String goodTypeSid) {
ResultBean rb = ResultBean.fireFail();
List<String> skuSids = baseGoodsSkuService.fetchSkuSid(goodTypeSid);
return rb.success().setData(skuSids);
}
}

2
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.java

@ -29,4 +29,6 @@ public interface BaseGoodsSkuMapper extends BaseMapper<BaseGoodsSku> {
IPage<GoodsSkuVo> getGoodsListPage(IPage<BaseGoodsSku> page, @Param(Constants.WRAPPER) QueryWrapper<BaseGoodsSku> qw);
List<GoodsDeptVo> selectGoods(@Param("name") String name, @Param("useOrgSid") String useOrgSid);
List<String> fetchSkuSid(String goodTypeSid);
}

10
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.xml

@ -96,4 +96,14 @@
, '%')
</if>
</select>
<select id="fetchSkuSid" resultType="java.lang.String">
SELECT
sku.sid
FROM
base_goods_sku sku
LEFT JOIN base_goods_spu spu
ON sku.goodsSpuSid = spu.sid
WHERE spu.goodsTypeSid = #{goodTypeSid}
</select>
</mapper>

4
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuService.java

@ -264,4 +264,8 @@ public class BaseGoodsSkuService extends MybatisBaseService<BaseGoodsSkuMapper,
}
return baseMapper.selectGoods(name,useOrgSid);
}
public List<String> fetchSkuSid(String goodTypeSid) {
return baseMapper.fetchSkuSid(goodTypeSid);
}
}

10
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.java

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
/**
* @author wangpengfei
@ -15,6 +16,11 @@ import org.apache.ibatis.annotations.Param;
public interface BaseGoodsSkuExtendMapper extends BaseMapper<BaseGoodsSkuExtend> {
IPage<BaseGoodsSkuExtendVo> listPage(IPage<BaseGoodsSkuExtend> page, @Param(Constants.WRAPPER) QueryWrapper<BaseGoodsSkuExtend> qw);
BaseGoodsSkuExtendVo getExtendBySkuSid(@Param("skuSid")String skuSid);
BaseGoodsSkuExtendVo getExtendBySid(@Param("sid")String sid);
BaseGoodsSkuExtendVo getExtendBySkuSid(@Param("skuSid") String skuSid);
BaseGoodsSkuExtendVo getExtendBySid(@Param("sid") String sid);
@Update("update base_goods_sku_extend set salesPrice = #{salesPrice} where goodsSkuSid = #{skuSid}")
void updateSalesPrice(@Param("skuSid") String skuSid, @Param("salesPrice") String salesPrice);
}

29
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java

@ -50,8 +50,8 @@ public class BaseGoodsSkuExtendService extends MybatisBaseService<BaseGoodsSkuEx
ResultBean rb = ResultBean.fireFail();
BaseGoodsSkuExtendQuery query = pq.getParams();
QueryWrapper<BaseGoodsSkuExtend> qw = new QueryWrapper<>();
if(StringUtils.isNotBlank(query.getName())){
qw.like("goodsName",query.getName());
if (StringUtils.isNotBlank(query.getName())) {
qw.like("goodsName", query.getName());
}
IPage<BaseGoodsSkuExtend> page = PagerUtil.queryToPage(pq);
IPage<BaseGoodsSkuExtendVo> pagging = baseMapper.listPage(page, qw);
@ -67,12 +67,13 @@ public class BaseGoodsSkuExtendService extends MybatisBaseService<BaseGoodsSkuEx
// }
return rb.success().setData(p);
}
@Transactional
public ResultBean<String> saveOrUpdate(BaseGoodsSkuExtendDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = "";
BaseGoodsSkuExtend extend=baseMapper.selectOne(new QueryWrapper<BaseGoodsSkuExtend>().eq("sid",dto.getSid()));
if (null!=extend) {
BaseGoodsSkuExtend extend = baseMapper.selectOne(new QueryWrapper<BaseGoodsSkuExtend>().eq("sid", dto.getSid()));
if (null != extend) {
sid = dto.getSid();
BaseGoodsSkuExtend wmsGoods = fetchBySid(dto.getSid());
BeanUtil.copyProperties(dto, wmsGoods);
@ -81,10 +82,10 @@ public class BaseGoodsSkuExtendService extends MybatisBaseService<BaseGoodsSkuEx
for (UrlsVo url : dto.getUrls()) {
String urlPrefix = fileUploadComponent.getUrlPrefix();
String path = url.getUrl().substring(urlPrefix.length());
if(StringUtils.isBlank(wmsGoods.getPicUrl())){
if (StringUtils.isBlank(wmsGoods.getPicUrl())) {
wmsGoods.setPicUrl(path);
}else{
wmsGoods.setPicUrl(wmsGoods.getPicUrl()+","+path);
} else {
wmsGoods.setPicUrl(wmsGoods.getPicUrl() + "," + path);
}
}
@ -98,10 +99,10 @@ public class BaseGoodsSkuExtendService extends MybatisBaseService<BaseGoodsSkuEx
for (UrlsVo url : dto.getUrls()) {
String urlPrefix = fileUploadComponent.getUrlPrefix();
String path = url.getUrl().substring(urlPrefix.length());
if(StringUtils.isBlank(wmsGoods.getPicUrl())){
if (StringUtils.isBlank(wmsGoods.getPicUrl())) {
wmsGoods.setPicUrl(path);
}else{
wmsGoods.setPicUrl(wmsGoods.getPicUrl()+","+path);
} else {
wmsGoods.setPicUrl(wmsGoods.getPicUrl() + "," + path);
}
}
baseMapper.insert(wmsGoods);
@ -130,7 +131,7 @@ public class BaseGoodsSkuExtendService extends MybatisBaseService<BaseGoodsSkuEx
return rb.success();
}
public ResultBean updateIsEnable(String sid,String isEnable) {
public ResultBean updateIsEnable(String sid, String isEnable) {
ResultBean rb = ResultBean.fireFail();
BaseGoodsSkuExtend wmsGoods = fetchBySid(sid);
if (null != wmsGoods) {
@ -139,4 +140,10 @@ public class BaseGoodsSkuExtendService extends MybatisBaseService<BaseGoodsSkuEx
}
return rb.success().setMsg("成功");
}
public ResultBean updateSalesPrice(String skuSid, String salesPrice) {
ResultBean rb = ResultBean.fireFail();
baseMapper.updateSalesPrice(skuSid, salesPrice);
return rb.success();
}
}

8
yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsPricestrategyBillDetailRest.java

@ -52,4 +52,12 @@ import org.springframework.web.bind.annotation.*;
@RequestMapping("v1/smspricestrategybilldetail")
public class SmsPricestrategyBillDetailRest {
@Autowired
private SmsPricestrategyBillDetailService smsPricestrategyBillDetailService;
@ApiOperation("根据商品类别sid查询是否存在定调价策略")
@GetMapping("/selSid")
public ResultBean<String> selSid(@RequestParam("goodsTypeSid") String goodsTypeSid,@RequestParam("deptSid") String deptSid){
return smsPricestrategyBillDetailService.selSid(goodsTypeSid,deptSid);
}
}

17
yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsPricestrategyBillGoodstypedetailRest.java

@ -25,15 +25,16 @@
*********************************************************/
package com.yxt.sms.apiadmin;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.sms.biz.smspricestrategybillgoodstypedetail.*;
import com.yxt.sms.biz.smspricestrategybillgoodstypedetail.SmsPricestrategyBillGoodstypedetailDetailsVo;
import com.yxt.sms.biz.smspricestrategybillgoodstypedetail.SmsPricestrategyBillGoodstypedetailService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: yxt-sms(价格策略) <br/>
* File: SmsPricestrategyBillGoodstypedetailFeignFallback.java <br/>
@ -52,4 +53,14 @@ import org.springframework.web.bind.annotation.*;
@RequestMapping("v1/smspricestrategybillgoodstypedetail")
public class SmsPricestrategyBillGoodstypedetailRest {
@Autowired
private SmsPricestrategyBillGoodstypedetailService smsPricestrategyBillGoodstypedetailService;
@ApiOperation("根据定调价明细sid查询")
@GetMapping("/selByMainSid")
public ResultBean<List<SmsPricestrategyBillGoodstypedetailDetailsVo>> selByMainSid(@RequestParam("mainSid") String mainSid){
ResultBean rb = ResultBean.fireFail();
List<SmsPricestrategyBillGoodstypedetailDetailsVo> smsPricestrategyBillGoodstypedetailDetailsVos = smsPricestrategyBillGoodstypedetailService.selByMainSid(mainSid);
return rb.success().setData(smsPricestrategyBillGoodstypedetailDetailsVos);
}
}

1172
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybill/SmsPricestrategyBillService.java

File diff suppressed because it is too large

2
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailMapper.java

@ -57,4 +57,6 @@ public interface SmsPricestrategyBillDetailMapper extends BaseMapper<SmsPricestr
@Select("select * from sms_pricestrategy_bill_detail where mainSid = #{mainSid}")
List<SmsPricestrategyBillDetailDetailsVo> selByMainSid(String mainSid);
String selSid(@Param("goodsTypeSid") String goodsTypeSid,@Param("deptSid") String deptSid);
}

12
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailMapper.xml

@ -3,4 +3,16 @@
<mapper namespace="com.yxt.sms.biz.smspricestrategybilldetail.SmsPricestrategyBillDetailMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selSid" resultType="java.lang.String">
SELECT
sd.sid
FROM
sms_pricestrategy_bill_detail sd
LEFT JOIN sms_pricestrategy_bill sb
ON sd.mainSid = sb.sid
WHERE sd.goodsTypeSid = #{goodsTypeSid}
AND sb.deptSid = #{deptSid}
AND sb.nodeState = '已办结'
</select>
</mapper>

7
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailService.java

@ -28,6 +28,7 @@ package com.yxt.sms.biz.smspricestrategybilldetail;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.core.result.ResultBean;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -90,4 +91,10 @@ public class SmsPricestrategyBillDetailService extends MybatisBaseService<SmsPri
public List<SmsPricestrategyBillDetailDetailsVo> selByMainSid(String mainSid) {
return baseMapper.selByMainSid(mainSid);
}
public ResultBean<String> selSid(String goodsTypeSid, String deptSid) {
ResultBean rb = ResultBean.fireFail();
String sid = baseMapper.selSid(goodsTypeSid,deptSid);
return rb.success().setData(sid);
}
}

5
yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventoryFeign.java

@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.math.BigDecimal;
import java.util.List;
/**
@ -39,4 +40,8 @@ public interface WmsInventoryFeign {
@ApiOperation("根据goodsID获取数据")
@GetMapping("/getListByGoodsID")
public ResultBean<List<WmsInventory>> getListByGoodsID(@RequestParam("goodsID") String goodsID);
@ApiOperation("根据商品skuSid计算平均入库价")
@GetMapping("/compute")
ResultBean<BigDecimal> compute(@RequestParam("skuSid") String skuSid);
}

6
yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventoryFeignFallback.java

@ -30,6 +30,7 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.util.List;
/**
@ -67,4 +68,9 @@ public class WmsInventoryFeignFallback implements WmsInventoryFeign {
public ResultBean<List<WmsInventory>> getListByGoodsID(String goodsID) {
return null;
}
@Override
public ResultBean<BigDecimal> compute(String skuSid) {
return null;
}
}

5
yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventoryrecord/WmsInventoryRecordFeign.java

@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.math.BigDecimal;
import java.util.List;
/**
@ -29,4 +30,8 @@ public interface WmsInventoryRecordFeign {
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody WmsInventoryRecordDto dto);
@ApiOperation("查找出入库记录中最后一次销售出库的销售价")
@PostMapping("/selCost")
ResultBean<BigDecimal> selCost(@RequestParam("skuSid") String skuSid);
}

26
yxt-sms-biz/src/main/java/com/yxt/sms/feign/yxtbase/BaseGoodsSkuExtendFeign.java

@ -0,0 +1,26 @@
package com.yxt.sms.feign.yxtbase;
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.RequestParam;
import java.util.List;
/**
* @description: 库存信息
* @author: fzz
* @date: 2024/3/7
**/
@FeignClient(
contextId = "yxt-base-BaseGoodsSkuExtend",
name = "yxt-base",
path = "/apiadmin/base/basegoodsskuextend"
)
public interface BaseGoodsSkuExtendFeign {
@ApiOperation("根据skuSid修改销售单价")
@PostMapping("/updateSalesPrice")
ResultBean updateSalesPrice(@RequestParam("skuSid") String skuSid,@RequestParam("salesPrice") String salesPrice);
}

31
yxt-sms-biz/src/main/java/com/yxt/sms/feign/yxtbase/BaseGoodsSkuFeign.java

@ -0,0 +1,31 @@
package com.yxt.sms.feign.yxtbase;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.sms.feign.wms.wmsinventory.*;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* @description: 库存信息
* @author: fzz
* @date: 2024/3/7
**/
@FeignClient(
contextId = "yxt-base-BaseGoodsSku",
name = "yxt-base",
path = "/apiadmin/base/basegoodssku"
)
public interface BaseGoodsSkuFeign {
@ApiOperation("根据商品类别sid查询对应的skusid")
@PostMapping("/fetchSkuSid")
ResultBean<List<String>> fetchSkuSid(@RequestParam("goodTypeSid") String goodTypeSid);
}

36
yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRecordRest.java

@ -156,9 +156,18 @@ public class WmsInventoryRecordRest {
PagerVo<WmsInventoryRecordsVo> pv = wmsInventoryRecordService.listPage(pagerQuery);
return rb.success().setData(pv);
}
@ApiOperation("拆件库出入库查询")
@PostMapping("/splitRecordInventoryList ")
ResultBean<PagerVo<WmsInventoryRecordsVo>> splitRecordInventoryList(@RequestBody PagerQuery<WmsInventoryRecordsQuery> pagerQuery){
ResultBean<PagerVo<WmsInventoryRecordsVo>> rb = ResultBean.fireFail();
WmsInventoryRecordsQuery params = pagerQuery.getParams();
params.setType("拆件库");
pagerQuery.setParams(params);
PagerVo<WmsInventoryRecordsVo> pv = wmsInventoryRecordService.listPage(pagerQuery);
return rb.success().setData(pv);
}
@PostMapping("/exportExcel")
@ApiOperation(value = "导出")
@ApiOperation(value = "出入库记录导出")
public void exportExcel(@RequestBody WmsInventoryRecordsQuery query) {
//得到所有要导出的数据
List<WmsInventoryRecordsExcelVo> exportVoList = wmsInventoryRecordService.listExcel(query);
@ -173,6 +182,23 @@ public class WmsInventoryRecordRest {
ExportExcelUtils.export(fileNameURL, exportVoList, WmsInventoryRecordsExcelVo.class, response);
}
@PostMapping("/splitRecordExportExcel")
@ApiOperation(value = "拆件出入库记录导出")
public void splitRecordExportExcel(@RequestBody WmsInventoryRecordsQuery query) {
query.setType("拆件库");
//得到所有要导出的数据
List<WmsInventoryRecordsExcelVo> exportVoList = wmsInventoryRecordService.listExcel(query);
//定义导出的excel名字
String excelName = "拆件出入库查询";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
ExportExcelUtils.export(fileNameURL, exportVoList, WmsInventoryRecordsExcelVo.class, response);
}
@ApiOperation("新增出入库记录")
@ -186,4 +212,10 @@ public class WmsInventoryRecordRest {
ResultBean<BigDecimal> selNum(@RequestParam("sourceBillSid") String sourceBillSid, @RequestParam("goodsID") String goodsID){
return wmsInventoryRecordService.selNum(sourceBillSid,goodsID);
}
@ApiOperation("查找出入库记录中最后一次销售出库的销售价")
@PostMapping("/selCost")
ResultBean<BigDecimal> selCost(@RequestParam("skuSid") String skuSid){
return wmsInventoryRecordService.selCost(skuSid);
}
}

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

@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.List;
@ -57,7 +58,7 @@ public class WmsInventoryRest {
}
@ApiOperation("分页列表")
@ApiOperation("库存查询")
@PostMapping("/listPage")
public ResultBean<PagerVo<WmsInventoryVo>> listPage(@RequestBody PagerQuery<WmsInventoryQuery> pq) {
ResultBean<PagerVo<WmsInventoryVo>> rb = ResultBean.fireFail();
@ -65,6 +66,17 @@ public class WmsInventoryRest {
return rb.success().setData(pv);
}
@ApiOperation("拆件库存查询")
@PostMapping("/splitInventoryList")
public ResultBean<PagerVo<WmsInventoryVo>> splitInventoryList(@RequestBody PagerQuery<WmsInventoryQuery> pq) {
ResultBean<PagerVo<WmsInventoryVo>> rb = ResultBean.fireFail();
WmsInventoryQuery params = pq.getParams();
params.setType("拆件库");
pq.setParams(params);
PagerVo<WmsInventoryVo> pv = wmsInventoryService.listPage(pq);
return rb.success().setData(pv);
}
@ApiOperation("删除/批量删除")
@DeleteMapping("/delBySids")
ResultBean delBySids(@RequestBody String[] sids) {
@ -128,6 +140,24 @@ public class WmsInventoryRest {
}
@PostMapping("/splitInventoryExportExcel")
@ApiOperation(value = "拆件库存导出")
public void splitInventoryExportExcel(@RequestBody WmsInventoryQuery query) {
query.setType("拆件库");
//得到所有要导出的数据
List<WmsInventoryVoExcelVo> exportVoList = wmsInventoryService.listExcel(query);
//定义导出的excel名字
String excelName = "库存列表";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
ExportExcelUtils.export(fileNameURL, exportVoList, WmsInventoryVoExcelVo.class, response);
}
@ApiOperation("修改库存数量")
@PostMapping("/updateInventoryCount")
ResultBean updateInventoryCount(@RequestBody WmsUpdateCountQuery query) {
@ -237,6 +267,14 @@ public class WmsInventoryRest {
return rb.success().setData(pv);
}
@ApiOperation("根据商品skuSid计算平均入库价")
@GetMapping("/compute")
ResultBean<BigDecimal> compute(@RequestParam("skuSid") String skuSid){
ResultBean rb = ResultBean.fireFail();
BigDecimal price = wmsInventoryService.compute(skuSid);
return rb.success().setData(price);
}
//-----------------------------app-------------------------------------------
@ApiOperation("app配件库存查询")
@PostMapping("/fittingsInventory2")

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

@ -14,6 +14,7 @@ import com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
/**
@ -93,4 +94,6 @@ public interface WmsInventoryMapper extends BaseMapper<WmsInventory> {
IPage<DeadStockVo> deadStockList(IPage<WmsInventory> page,@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
String selByGoodsIdAndRackSid(@Param("goodsID") String goodsID,@Param("warehouseRackSid") String warehouseRackSid);
BigDecimal compute(String skuSid);
}

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

@ -5,19 +5,26 @@
<!-- ${ew.customSqlSegment} -->
<select id="listPage" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryVo">
select a.goodsID,
SELECT
a.goodsID,
a.sid,
a.goodsSpuName,
a.goodsSkuCode,
a.goodsSkuOwnSpec,
a.unit,
a.supplierName,
a.manufacturerName,
a.warehouseName,
a.warehouseRackCode,
a.count,
a.allocateCount,
a.batchNumber,
DATE_FORMAT(a.firstInDate, '%Y-%m-%d') as firstInDate
from wms_inventory a
a.cost,
a.taxRate tax,
DATE_FORMAT( a.firstInDate, '%Y-%m-%d' ) AS firstInDate,
DATEDIFF(NOW(), DATE_FORMAT( a.firstInDate, '%Y-%m-%d' )) dateAge
FROM
wms_inventory a
LEFT JOIN anrui_portal.sys_organization as s ON a.useOrgSid = s.sid
LEFT JOIN wms_warehouse_info as i ON a.warehouseSid = i.sid
<where>
${ew.sqlSegment}
</where>
@ -683,4 +690,13 @@
WHERE goodsID = #{goodsID}
AND warehouseRackSid = #{warehouseRackSid}
</select>
<select id="compute" resultType="java.math.BigDecimal">
SELECT
IFNULL(SUM(COUNT * cost) / SUM(COUNT), 0) AS total
FROM
wms_inventory
WHERE goodsSkuSid = #{skuSid}
AND COUNT> 0
</select>
</mapper>

17
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryQuery.java

@ -28,5 +28,20 @@ public class WmsInventoryQuery implements Query {
@ApiModelProperty("批次号")
private String batchNumber;
//供应商
@ApiModelProperty("厂家")
private String manufacturerName;
@ApiModelProperty("供应商")
private String supplierName;
private String menuUrl;
private String orgPath;
private String userSid;
@ApiModelProperty("首次入库开始")
private String firstInStartDate;
@ApiModelProperty("首次入库结束")
private String firstInEndDate;
@ApiModelProperty("库龄")
private String dateAge;
private String type; //库存类型
}

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

@ -64,28 +64,160 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
public PagerVo<WmsInventoryVo> listPage(PagerQuery<WmsInventoryQuery> pq) {
WmsInventoryQuery query = pq.getParams();
QueryWrapper<WmsInventory> qw = new QueryWrapper<>();
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(query.getMenuUrl())) {
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("s.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("s.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("s.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("s.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("a.createBySid", query.getUserSid());
} else {
PagerVo<WmsInventoryVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<WmsInventoryVo> p = new PagerVo<>();
return p;
}
}
if (StringUtils.isNotBlank(query.getGoodsID())) {
qw.like("a.goodsID", query.getGoodsID());
}
if (StringUtils.isNotBlank(query.getWarehouseName())) {
qw.like("a.warehouseName", query.getWarehouseName());
if (StringUtils.isNotBlank(query.getGoodsSpuName())) {
qw.like("a.goodsSpuName", query.getGoodsSpuName());
}
if (StringUtils.isNotBlank(query.getGoodsSkuCode())) {
qw.like("a.goodsSkuCode", query.getGoodsSkuCode());
}
if (StringUtils.isNotBlank(query.getGoodsSpuName())) {
qw.like("a.goodsSpuName", query.getGoodsSpuName());
if (StringUtils.isNotBlank(query.getWarehouseName())) {
qw.like("a.warehouseName", query.getWarehouseName());
}
if (StringUtils.isNotBlank(query.getBatchNumber())) {
qw.like("a.batchNumber", query.getBatchNumber());
if (StringUtils.isNotBlank(query.getWarehouseRackCode())) {
qw.like("a.warehouseRackCode", query.getWarehouseRackCode());
}
if (StringUtils.isNotBlank(query.getSupplierName())) {
qw.like("a.supplierName", query.getSupplierName());
}
if (StringUtils.isNotBlank(query.getManufacturerName())) {
qw.like("a.manufacturerName", query.getManufacturerName());
}
qw.apply(StringUtils.isNotBlank(query.getFirstInStartDate()), "date_format (a.firstInDate,'%Y-%m-%d') >= date_format('" + query.getFirstInStartDate() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getFirstInEndDate()), "date_format (a.firstInDate,'%Y-%m-%d') <= date_format('" + query.getFirstInEndDate() + "','%Y-%m-%d')"
);
if (StringUtils.isNotBlank(query.getDateAge())) {
qw.apply("DATEDIFF(NOW(), DATE_FORMAT( a.firstInDate, '%Y-%m-%d' )) <" + query.getDateAge());
}
if (StringUtils.isNotBlank(query.getType())) {
if (query.getType().equals("拆件库")) {
qw.eq("i.warehouseTypeValue", "拆件库");
}
}
IPage<WmsInventory> page = PagerUtil.queryToPage(pq);
IPage<WmsInventoryVo> pagging = baseMapper.listPage(page, qw);
PagerVo<WmsInventoryVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<WmsInventoryVoExcelVo> listExcel(WmsInventoryQuery query) {
QueryWrapper<WmsInventoryVoExcelVo> qw = new QueryWrapper<>();
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(query.getMenuUrl())) {
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("s.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("s.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("s.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("s.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("a.createBySid", query.getUserSid());
} else {
return new ArrayList<>();
}
} else {
return new ArrayList<>();
}
}
if (StringUtils.isNotBlank(query.getGoodsID())) {
qw.like("a.goodsID", query.getGoodsID());
}
if (StringUtils.isNotBlank(query.getGoodsSpuName())) {
qw.like("a.goodsSpuName", query.getGoodsSpuName());
}
if (StringUtils.isNotBlank(query.getGoodsSkuCode())) {
qw.like("a.goodsSkuCode", query.getGoodsSkuCode());
}
if (StringUtils.isNotBlank(query.getWarehouseName())) {
qw.like("a.warehouseName", query.getWarehouseName());
}
if (StringUtils.isNotBlank(query.getWarehouseRackCode())) {
qw.like("a.warehouseRackCode", query.getWarehouseRackCode());
}
if (StringUtils.isNotBlank(query.getSupplierName())) {
qw.like("a.supplierName", query.getSupplierName());
}
if (StringUtils.isNotBlank(query.getManufacturerName())) {
qw.like("a.manufacturerName", query.getManufacturerName());
}
qw.apply(StringUtils.isNotBlank(query.getFirstInStartDate()), "date_format (a.firstInDate,'%Y-%m-%d') >= date_format('" + query.getFirstInStartDate() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getFirstInEndDate()), "date_format (a.firstInDate,'%Y-%m-%d') <= date_format('" + query.getFirstInEndDate() + "','%Y-%m-%d')"
);
if (StringUtils.isNotBlank(query.getDateAge())) {
qw.apply("DATEDIFF(NOW(), DATE_FORMAT( a.firstInDate, '%Y-%m-%d' )) <" + query.getDateAge());
}
if (StringUtils.isNotBlank(query.getType())) {
if (query.getType().equals("拆件库")) {
qw.eq("i.warehouseTypeValue", "拆件库");
}
}
List<WmsInventoryVoExcelVo> list = baseMapper.listExcel(qw);
list.removeAll(Collections.singleton(null));
return list;
}
/**
* 入库
*
@ -256,20 +388,7 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
return p;
}
*/
public List<WmsInventoryVoExcelVo> listExcel(WmsInventoryQuery query) {
QueryWrapper<WmsInventoryVoExcelVo> qw = new QueryWrapper<>();
if (query != null) {
if (StringUtils.isNotBlank(query.getGoodsSpuName())) {
qw.like("goodsSpuName", query.getGoodsSpuName());
}
if (StringUtils.isNotBlank(query.getWarehouseName())) {
qw.like("warehouseName", query.getWarehouseName());
}
}
List<WmsInventoryVoExcelVo> list = baseMapper.listExcel(qw);
list.removeAll(Collections.singleton(null));
return list;
}
public ResultBean updateInventoryCount(WmsUpdateCountQuery query) {
ResultBean rb = ResultBean.fireFail();
@ -1077,4 +1196,9 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
public String selByGoodsIdAndRackSid(String goodsID, String warehouseRackSid) {
return baseMapper.selByGoodsIdAndRackSid(goodsID,warehouseRackSid);
}
public BigDecimal compute(String skuSid) {
return baseMapper.compute(skuSid);
}
}

9
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryVo.java

@ -41,5 +41,12 @@ public class WmsInventoryVo implements Vo {
private String firstInDate;
@ApiModelProperty("库龄")
private String dateAge;
@ApiModelProperty("厂家")
private String manufacturerName;
@ApiModelProperty("供应商")
private String supplierName;
@ApiModelProperty("入库单价")
private String cost;
@ApiModelProperty("税率")
private String tax;
}

78
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryVoExcelVo.java

@ -1,6 +1,7 @@
package com.yxt.wms.biz.inventory.wmsinventory;
import com.yxt.common.core.utils.ExportEntityMap;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -13,42 +14,51 @@ public class WmsInventoryVoExcelVo {
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
@ExportEntityMap(CnName = "商品ID", EnName = "goodsID")
private String goodsID;
@ExportEntityMap(CnName = "商品名称", EnName = "goodsSpuName")
private String goodsSpuName;
@ExportEntityMap(CnName = "商品编码(图号", EnName = "goodsSkuCode")
@ExportEntityMap(CnName = "图号", EnName = "goodsSkuCode")
private String goodsSkuCode;
@ExportEntityMap(CnName = "规格型号", EnName = "goodsSkuOwnSpec")
private String goodsSkuOwnSpec;//规格型号
@ExportEntityMap(CnName = "销售价格1", EnName = "price1")
private String price1;//销售价格1
@ExportEntityMap(CnName = "销售价格2", EnName = "price2")
private String price2;//销售价格2
@ExportEntityMap(CnName = "销售价格3", EnName = "price3")
private String price3;//销售价格3
@ExportEntityMap(CnName = "销售价格4", EnName = "price4")
private String price4;//销售价格4
@ExportEntityMap(CnName = "销售价格5", EnName = "price5")
private String price5;//销售价格5
@ExportEntityMap(CnName = "计量单位", EnName = "unit")
private String unit;//计量单位
@ExportEntityMap(CnName = "库存数量", EnName = "count")
private String count;//库存数量
@ExportEntityMap(CnName = "销售底价", EnName = "minimumPrice")
private String minimumPrice;//销售底价
@ExportEntityMap(CnName = "三包价格", EnName = "freePrice")
private String freePrice;//三包价格
@ExportEntityMap(CnName = "首保价格", EnName = "firstMaintainPrice")
private String firstMaintainPrice;//首保价格
@ExportEntityMap(CnName = "仓库名称", EnName = "warehouseName")
private String warehouseName;//仓库名称
@ExportEntityMap(CnName = "库区名称", EnName = "warehouseArea")
private String warehouseArea;//库区名称
@ExportEntityMap(CnName = "货架名称", EnName = "warehouseRackName")
private String warehouseRackName;//warehouseRackName
@ExportEntityMap(CnName = "规格", EnName = "goodsSkuOwnSpec")
private String goodsSkuOwnSpec;
@ApiModelProperty("计量单位")
@ExportEntityMap(CnName = "单位", EnName = "unit")
private String unit;
@ApiModelProperty("厂家")
@ExportEntityMap(CnName = "厂家", EnName = "manufacturerName")
private String manufacturerName;
@ApiModelProperty("供应商")
@ExportEntityMap(CnName = "供应商", EnName = "supplierName")
private String supplierName;
@ApiModelProperty("仓库名称")
@ExportEntityMap(CnName = "仓库", EnName = "warehouseName")
private String warehouseName;
@ApiModelProperty("库位名称")
@ExportEntityMap(CnName = "库位", EnName = "warehouseRackCode")
private String warehouseRackCode;
@ApiModelProperty("现有库存")
@ExportEntityMap(CnName = "现有库存", EnName = "count")
private String count;
@ApiModelProperty("入库单价")
@ExportEntityMap(CnName = "入库单价", EnName = "cost")
private String cost;
@ApiModelProperty("税率")
@ExportEntityMap(CnName = "税率", EnName = "tax")
private String tax;
@ApiModelProperty("首次入库日期")
@ExportEntityMap(CnName = "首次入库日期", EnName = "firstInDate")
private String firstInDate;//首次入库日期-计算库龄的依据
@ExportEntityMap(CnName = "锁定数量", EnName = "lockCount")
private String lockCount;//锁定数量,计算字段,出库申请通过,但未实际出库
@ExportEntityMap(CnName = "排序", EnName = "sortNo")
private String sortNo;
private String firstInDate;
@ApiModelProperty("库龄")
@ExportEntityMap(CnName = "库龄", EnName = "dateAge")
private String dateAge;
}

6
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordListVo.java

@ -19,10 +19,12 @@ public class WmsInventoryRecordListVo {
private String createTime;
@ApiModelProperty("业务类型")
private String busTypeValue;
@ApiModelProperty("客户/供应商")
private String billObjName;
@ApiModelProperty("批次号")
private String batchNumber;
@ApiModelProperty("客户")
private String customerName;
@ApiModelProperty("供应商")
private String supplierName;
@ApiModelProperty("数量")
private String count;
@ApiModelProperty("出入库后的库存量")

2
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordMapper.java

@ -91,4 +91,6 @@ public interface WmsInventoryRecordMapper extends BaseMapper<WmsInventoryRecord>
String selByGoodsID(String content);
BigDecimal selNum(@Param("sourceBillSid") String sourceBillSid, @Param("goodsID") String goodsID);
BigDecimal selCost(String skuSid);
}

105
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordMapper.xml

@ -80,7 +80,8 @@
case wir.billType when 1 then '入库' when 0 then '出库' end as billType,
DATE_FORMAT(wir.createTime, '%Y-%m-%d') as createTime,
wir.busTypeValue,
wir.billObjName,
wir.customerName,
wir.supplierName,
wir.count,
wir.currentCount
from wms_inventory_record wir
@ -90,28 +91,33 @@
<select id="listPage" resultType="com.yxt.wms.biz.inventory.wmsinventoryrecord.WmsInventoryRecordsVo">
select wir.goodsID,
wir.goodsSpuName,
wir.goodsSkuCode,
wir.goodsSkuOwnSpec,
wir.warehouseName,
wwa.areaName as warehouseAreaName,
wir.warehouseRackCode,
wir.billNo,
wir.billType,
DATE_FORMAT(wir.createTime, '%Y-%m-%d') as createTime,
wir.busTypeValue,
wir.batchNumber,
wir.manufacturerName billObjName,
wir.currentCount,
wir.count,
wir.unit,
wir.handlerName,
wir.createBySid
wir.goodsSpuName,
wir.goodsSkuCode,
wir.goodsSkuOwnSpec,
wir.warehouseName,
wir.warehouseRackCode,
wir.billNo,
wir.billType,
DATE_FORMAT(wir.createTime, '%Y-%m-%d') as createTime,
wir.busTypeValue,
wir.supplierName,
wir.customerName,
wir.manufacturerName,
wir.currentCount,
wir.count,
wir.unit,
wir.handlerName,
wir.cost,
wir.amount,
wir.tax,
wir.guidPrice,
ui.`name` createByName
from wms_inventory_record wir
left join wms_warehouse_rack wwr
on wir.warehouseRackSid = wwr.sid
left join wms_warehouse_area wwa
on wwr.locationSid = wwa.sid
LEFT JOIN wms_inventory as wi ON wir.inventorySid = wi.sid
LEFT JOIN wms_warehouse_info as i ON wir.warehouseSid = i.sid
LEFT JOIN anrui_portal.sys_organization as s ON wi.useOrgSid = s.sid
LEFT JOIN anrui_portal.sys_user as u ON wir.createBySid = u.sid
LEFT JOIN anrui_portal.sys_staffinfo as ui ON u.staffSid = ui.sid
<where>
${ew.sqlSegment}
</where>
@ -120,22 +126,35 @@
<select id="listExcel" resultType="com.yxt.wms.biz.inventory.wmsinventoryrecord.WmsInventoryRecordsExcelVo">
select wir.goodsID,
wir.goodsSpuName,
wir.goodsSkuCode,
wir.goodsSkuOwnSpec,
wir.warehouseName,
wir.warehouseRackCode,
wir.billNo,
DATE_FORMAT(wir.createTime, '%Y-%m-%d') as createTime,
wir.busTypeValue,
wir.batchNumber,
wir.billObjName,
wir.currentCount,
wir.count,
wir.unit,
(@rank := @rank + 1) rankNo
from wms_inventory_record wir,
(SELECT @rank := 0) t
wir.goodsSpuName,
wir.goodsSkuCode,
wir.goodsSkuOwnSpec,
wir.warehouseName,
wir.warehouseRackCode,
wir.billNo,
IF(wir.billType = 1,'入库','出库') billType,
DATE_FORMAT(wir.createTime, '%Y-%m-%d') as createTime,
wir.busTypeValue,
wir.supplierName,
wir.customerName,
wir.manufacturerName,
wir.currentCount,
wir.count,
wir.unit,
wir.handlerName,
wir.cost,
wir.amount,
wir.tax,
wir.guidPrice,
ui.`name` createByName,
(@rank := @rank + 1) rankNo
from wms_inventory_record wir
LEFT JOIN wms_inventory as wi ON wir.inventorySid = wi.sid
LEFT JOIN wms_warehouse_info as i ON wir.warehouseSid = i.sid
LEFT JOIN anrui_portal.sys_organization as s ON wi.useOrgSid = s.sid
LEFT JOIN anrui_portal.sys_user as u ON wir.createBySid = u.sid
LEFT JOIN anrui_portal.sys_staffinfo as ui ON u.staffSid = ui.sid,
(SELECT @rank := 0) t
<where>
${ew.sqlSegment}
</where>
@ -190,4 +209,14 @@
AND sourceBillSid = #{sourceBillSid}
AND billType = 1
</select>
<select id="selCost" resultType="java.math.BigDecimal">
SELECT
IFNULL(cost, 0) AS cost
FROM
wms_inventory_record
WHERE goodsSkuSid = #{skuSid}
AND busTypeKey = '11'
ORDER BY createTime DESC LIMIT 1
</select>
</mapper>

136
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java

@ -30,8 +30,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.wms.biz.inventory.wmsinventory.WmsInventory;
import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryService;
import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryVo;
import com.yxt.wms.biz.inventory.wmsinventoryrecord.report.*;
import com.yxt.wms.biz.inventory.wmsoldinventory.WmsOldInventoryDetailsListVo;
import com.yxt.wms.feign.portal.privilege.PrivilegeQuery;
import com.yxt.wms.feign.portal.sysuser.SysUserFeign;
import com.yxt.wms.feign.portal.sysuser.SysUserVo;
import org.apache.commons.lang3.StringUtils;
@ -229,6 +231,44 @@ public class WmsInventoryRecordService extends MybatisBaseService<WmsInventoryRe
public PagerVo<WmsInventoryRecordsVo> listPage(PagerQuery<WmsInventoryRecordsQuery> pagerQuery) {
WmsInventoryRecordsQuery query = pagerQuery.getParams();
QueryWrapper<WmsInventoryRecord> qw = new QueryWrapper<>();
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(query.getMenuUrl())) {
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("s.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("s.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("s.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("s.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("wir.createBySid", query.getUserSid());
} else {
PagerVo<WmsInventoryRecordsVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<WmsInventoryRecordsVo> p = new PagerVo<>();
return p;
}
}
//ToDo:添加查询条件
if (StringUtils.isNotBlank(query.getGoodsID())) {
qw.like("wir.goodsID", query.getGoodsID());
@ -249,13 +289,9 @@ public class WmsInventoryRecordService extends MybatisBaseService<WmsInventoryRe
if (StringUtils.isNotBlank(query.getWarehouseRackCode())) {
qw.like("wir.warehouseRackCode", query.getWarehouseRackCode());
}
//客户/供应商名称
if (StringUtils.isNotBlank(query.getBillObjName())) {
qw.like("wir.manufacturerName", query.getBillObjName());
}
//批次号
if (StringUtils.isNotBlank(query.getBatchNumber())) {
qw.like("wir.batchNumber", query.getBatchNumber());
//供应商名称
if (StringUtils.isNotBlank(query.getSupplierName())) {
qw.like("wir.supplierName", query.getSupplierName());
}
//来源单据编号
if (StringUtils.isNotBlank(query.getBillNo())) {
@ -271,22 +307,65 @@ public class WmsInventoryRecordService extends MybatisBaseService<WmsInventoryRe
}
//单据日期开始时间-单据日期结束时间
qw.apply(StringUtils.isNotBlank(query.getCreateTimeStart()), "date_format (wir.createTime,'%Y-%m-%d') >= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')").
apply(com.yxt.common.base.utils.StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (wir.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')"
apply(StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (wir.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')"
);
IPage<WmsInventoryRecord> page = PagerUtil.queryToPage(pagerQuery);
IPage<WmsInventoryRecordsVo> pagging = baseMapper.listPage(page, qw);
for (WmsInventoryRecordsVo record : pagging.getRecords()) {
if (StringUtils.isNotBlank(record.getCreateBySid())) {
SysUserVo sysUserVo = sysUserFeign.fetchBySid(record.getCreateBySid()).getData();
record.setCreateByName(sysUserVo.getName());
//操作人
if (StringUtils.isNotBlank(query.getCreateByName())) {
qw.like("ui.`name`", query.getCreateByName());
}
//经办人
if (StringUtils.isNotBlank(query.getHandlerName())) {
qw.like("wir.handlerName", query.getHandlerName());
}
if (StringUtils.isNotBlank(query.getType())) {
if (query.getType().equals("拆件库")) {
qw.eq("i.warehouseTypeValue", "拆件库");
}
}
IPage<WmsInventoryRecord> page = PagerUtil.queryToPage(pagerQuery);
IPage<WmsInventoryRecordsVo> pagging = baseMapper.listPage(page, qw);
PagerVo<WmsInventoryRecordsVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<WmsInventoryRecordsExcelVo> listExcel(WmsInventoryRecordsQuery query) {
QueryWrapper<WmsInventoryRecord> qw = new QueryWrapper<>();
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(query.getMenuUrl())) {
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("s.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("s.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("s.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("s.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("wir.createBySid", query.getUserSid());
} else {
return new ArrayList<>();
}
} else {
return new ArrayList<>();
}
}
//ToDo:添加查询条件
if (StringUtils.isNotBlank(query.getGoodsID())) {
qw.like("wir.goodsID", query.getGoodsID());
@ -307,13 +386,9 @@ public class WmsInventoryRecordService extends MybatisBaseService<WmsInventoryRe
if (StringUtils.isNotBlank(query.getWarehouseRackCode())) {
qw.like("wir.warehouseRackCode", query.getWarehouseRackCode());
}
//客户/供应商名称
if (StringUtils.isNotBlank(query.getBillObjName())) {
qw.like("wir.billObjName", query.getBillObjName());
}
//批次号
if (StringUtils.isNotBlank(query.getBatchNumber())) {
qw.like("wir.batchNumber", query.getBatchNumber());
//供应商名称
if (StringUtils.isNotBlank(query.getSupplierName())) {
qw.like("wir.supplierName", query.getSupplierName());
}
//来源单据编号
if (StringUtils.isNotBlank(query.getBillNo())) {
@ -331,6 +406,19 @@ public class WmsInventoryRecordService extends MybatisBaseService<WmsInventoryRe
qw.apply(StringUtils.isNotBlank(query.getCreateTimeStart()), "date_format (wir.createTime,'%Y-%m-%d') >= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (wir.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')"
);
//操作人
if (StringUtils.isNotBlank(query.getCreateByName())) {
qw.like("ui.`name`", query.getCreateByName());
}
//经办人
if (StringUtils.isNotBlank(query.getHandlerName())) {
qw.like("wir.handlerName", query.getHandlerName());
}
if (StringUtils.isNotBlank(query.getType())) {
if (query.getType().equals("拆件库")) {
qw.eq("i.warehouseTypeValue", "拆件库");
}
}
List<WmsInventoryRecordsExcelVo> list = baseMapper.listExcel(qw);
list.removeAll(Collections.singleton(null));
return list;
@ -430,4 +518,10 @@ public class WmsInventoryRecordService extends MybatisBaseService<WmsInventoryRe
BigDecimal num = baseMapper.selNum(sourceBillSid,goodsID);
return rb.success().setData(num);
}
public ResultBean<BigDecimal> selCost(String skuSid) {
ResultBean rb = ResultBean.fireFail();
BigDecimal cost = baseMapper.selCost(skuSid);
return rb.success().setData(cost);
}
}

42
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsExcelVo.java

@ -22,7 +22,7 @@ public class WmsInventoryRecordsExcelVo {
@ExportEntityMap(CnName = "商品名称", EnName = "goodsSpuName")
private String goodsSpuName;
@ApiModelProperty("商品编码")
@ExportEntityMap(CnName = "商品编码", EnName = "goodsSkuCode")
@ExportEntityMap(CnName = "图号", EnName = "goodsSkuCode")
private String goodsSkuCode;
@ApiModelProperty("规格")
@ExportEntityMap(CnName = "规格", EnName = "goodsSkuOwnSpec")
@ -39,9 +39,7 @@ public class WmsInventoryRecordsExcelVo {
@ApiModelProperty("来源单号")
@ExportEntityMap(CnName = "来源单号", EnName = "billNo")
private String billNo;
@ApiModelProperty("单据类型(1入库、0出库)")
@ApiModelProperty("单据类型(1入库、0出库)")
@ExportEntityMap(CnName = "单据类型", EnName = "billType")
private String billType;
@ExportEntityMap(CnName = "发生时间", EnName = "createTime")
@ -49,18 +47,38 @@ public class WmsInventoryRecordsExcelVo {
@ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)")
@ExportEntityMap(CnName = "业务类型", EnName = "busTypeValue")
private String busTypeValue;
@ApiModelProperty("客户/供应商名称")
@ExportEntityMap(CnName = "客户/供应商名称", EnName = "billObjName")
private String billObjName;
@ApiModelProperty("批次号")
@ExportEntityMap(CnName = "批次号", EnName = "batchNumber")
private String batchNumber;
@ApiModelProperty("数量")
@ApiModelProperty("供应商")
@ExportEntityMap(CnName = "供应商", EnName = "supplierName")
private String supplierName;
@ExportEntityMap(CnName = "客户", EnName = "customerName")
private String customerName;
@ExportEntityMap(CnName = "数量", EnName = "count")
private String count;
@ApiModelProperty("出入库后的库存量")
@ExportEntityMap(CnName = "出入库后的库存", EnName = "currentCount")
@ExportEntityMap(CnName = "出入库后的库存", EnName = "currentCount")
private String currentCount;
@ApiModelProperty("出入库单价")
@ExportEntityMap(CnName = "出入库单价", EnName = "cost")
private String cost;
@ApiModelProperty("出入库金额 ")
@ExportEntityMap(CnName = "出入库金额", EnName = "amount")
private String amount;
@ApiModelProperty("税率")
@ExportEntityMap(CnName = "税率", EnName = "tax")
private String tax;
@ApiModelProperty("销售指导价")
@ExportEntityMap(CnName = "销售指导价", EnName = "guidPrice")
private String guidPrice;
@ApiModelProperty("操作人")
@ExportEntityMap(CnName = "操作人", EnName = "createByName")
private String createByName;
@ApiModelProperty("经办人")
@ExportEntityMap(CnName = "经办人(领料人/退料人)", EnName = "handlerName")
private String handlerName;
}

14
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsQuery.java

@ -22,8 +22,10 @@ public class WmsInventoryRecordsQuery implements Query {
private String warehouseName;
@ApiModelProperty("库位编号")
private String warehouseRackCode;
@ApiModelProperty("客户/供应商名称")
private String billObjName;
@ApiModelProperty("厂家")
private String manufacturerName;
@ApiModelProperty("供应商")
private String supplierName;
@ApiModelProperty("批次号")
private String batchNumber;
@ApiModelProperty("来源单据编号")
@ -36,4 +38,12 @@ public class WmsInventoryRecordsQuery implements Query {
private String createTimeStart;
@ApiModelProperty("发生结束时间")
private String createTimeEnd;
@ApiModelProperty("操作人")
private String createByName;
@ApiModelProperty("经办人")
private String handlerName;
private String menuUrl;
private String orgPath;
private String userSid;
private String type; //库存类型
}

29
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsVo.java

@ -21,12 +21,14 @@ public class WmsInventoryRecordsVo {
private String goodsSkuCode;
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec;
@ApiModelProperty("计量单位")
private String unit;
@ApiModelProperty("仓库名称")
private String warehouseName;
@ApiModelProperty("库区名称")
private String warehouseAreaName;
@ApiModelProperty("库位编号")
private String warehouseRackCode;
@ApiModelProperty("库区名称")
private String warehouseAreaName;
@ApiModelProperty("来源单据编号")
private String billNo;
@ApiModelProperty("单据类型(1入库、0出库)")
@ -34,18 +36,27 @@ public class WmsInventoryRecordsVo {
private String createTime;
@ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)")
private String busTypeValue;
@ApiModelProperty("客户/供应商名称")
private String billObjName;
@ApiModelProperty("批次号")
private String batchNumber;
@ApiModelProperty("厂家")
private String manufacturerName;
@ApiModelProperty("供应商")
private String supplierName;
@ApiModelProperty("客户")
private String customerName;
@ApiModelProperty("出入库后的库存量")
private String currentCount;
@ApiModelProperty("数量")
private String count;
@ApiModelProperty("计量单位")
private String unit;
@ApiModelProperty("出入库单价")
private String cost;
@ApiModelProperty("出入库金额 ")
private String amount;
@ApiModelProperty("税率")
private String tax;
@ApiModelProperty("销售指导价")
private String guidPrice;
@ApiModelProperty("操作人")
private String createBySid;
private String createByName;
@ApiModelProperty("经办人")
private String handlerName;

28
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java

@ -46,12 +46,16 @@ import com.yxt.wms.feign.base.basegoodspu.BaseGoodsSpu;
import com.yxt.wms.feign.base.basegoodspu.BaseGoodsSpuFeign;
import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuDetailsVo;
import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuFeign;
import com.yxt.wms.feign.base.basegoodsskuextend.BaseGoodsSkuExtendFeign;
import com.yxt.wms.feign.portal.privilege.PrivilegeQuery;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.wms.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.wms.feign.portal.sysuser.SysUserFeign;
import com.yxt.wms.feign.portal.sysuser.SysUserVo;
import com.yxt.wms.feign.sms.smspricestrategybilldetail.SmsPricesTrategyBillDetailFeign;
import com.yxt.wms.feign.sms.smsspricestrategybillgoodstypedetail.SmsPricesTrategyBillGoodsTypeDetailFeign;
import com.yxt.wms.feign.sms.smsspricestrategybillgoodstypedetail.SmsPricestrategyBillGoodstypedetailDetailsVo;
import com.yxt.wms.utils.BillNo;
import com.yxt.wms.utils.Rule;
import org.springframework.beans.factory.annotation.Autowired;
@ -110,7 +114,11 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
@Autowired
private AsBusrepairInventorybillFeign asBusrepairInventorybillFeign;
@Autowired
private AsBusrepairBillFeign asBusrepairBillFeign;
private SmsPricesTrategyBillDetailFeign smsPricesTrategyBillDetailFeign;
@Autowired
private SmsPricesTrategyBillGoodsTypeDetailFeign smsPricesTrategyBillGoodsTypeDetailFeign;
@Autowired
private BaseGoodsSkuExtendFeign baseGoodsSkuExtendFeign;
public PagerVo<WmsShelfBillVo> listPage(PagerQuery<WmsShelfBillQuery> pq) {
WmsShelfBillQuery query = pq.getParams();
@ -750,6 +758,23 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
WmsGoodsTag wmsGoodsTag = wmsGoodsTagService.selByBillSidAndGoodsID(sourceBillSid, goodsID);
String goodsSkuCode = wmsGoodsTag.getGoodsSkuCode();
WmsShelfBillDetail shelfBillGoods = wmsShelfBillDetailService.selByBillSidAndSkuCode(shelvesId, goodsSkuCode);
WmsReceiptBillDetail receiptBillDetail = wmsReceiptBillDetailService.selectByBillSidAndGoodsSkuCode(sourceBillSid, goodsSkuCode);
//计算sku销售价
BaseGoodsSpu baseGoodsSpu = baseGoodsSpuFeign.fetchEntityBySid(shelfBillGoods.getGoodsSpuSid()).getData();
String tjmxSid = smsPricesTrategyBillDetailFeign.selSid(baseGoodsSpu.getGoodsTypeSid(), deptSid).getData();
if (StringUtils.isBlank(tjmxSid)){
return rb.setMsg("该商品类型没有对应的定调价策略,无法上架");
}else {
List<SmsPricestrategyBillGoodstypedetailDetailsVo> data = smsPricesTrategyBillGoodsTypeDetailFeign.selByMainSid(tjmxSid).getData();
for (SmsPricestrategyBillGoodstypedetailDetailsVo smsPricestrategyBillGoodstypedetailDetailsVo : data) {
BigDecimal cost = receiptBillDetail.getCost();
if (cost.compareTo(smsPricestrategyBillGoodstypedetailDetailsVo.getRangeStart()) != -1 && cost.compareTo(smsPricestrategyBillGoodstypedetailDetailsVo.getRangeEnd()) != 1) {
BigDecimal markupRate = smsPricestrategyBillGoodstypedetailDetailsVo.getMarkupRate();
cost = cost.add(cost.multiply(markupRate).divide(new BigDecimal("100")));
baseGoodsSkuExtendFeign.updateSalesPrice(shelfBillGoods.getGoodsSkuSid(), cost.toString());
}
}
}
BigDecimal actualCount = BigDecimal.ZERO;
if (null != shelfBillGoods.getActualCount()) {
actualCount = shelfBillGoods.getActualCount();
@ -784,7 +809,6 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
recordDto.setWarehouseRackCode(houseInfoVo.getWarehouseRackCode());
recordDto.setCount(count);
recordDto.setCurrentCount(count);
WmsReceiptBillDetail receiptBillDetail = wmsReceiptBillDetailService.selectByBillSidAndGoodsSkuCode(sourceBillSid, goodsSkuCode);
if (null != receiptBillDetail) {
if (null != receiptBillDetail.getCost()) {
BigDecimal num = new BigDecimal(count);

24
yxt-wms-biz/src/main/java/com/yxt/wms/feign/base/basegoodsskuextend/BaseGoodsSkuExtendFeign.java

@ -0,0 +1,24 @@
package com.yxt.wms.feign.base.basegoodsskuextend;
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.RequestParam;
/**
* @description: 库存信息
* @author: fzz
* @date: 2024/3/7
**/
@FeignClient(
contextId = "yxt-base-BaseGoodsSkuExtend",
name = "yxt-base",
path = "/apiadmin/base/basegoodsskuextend"
)
public interface BaseGoodsSkuExtendFeign {
@ApiOperation("根据skuSid修改销售单价")
@PostMapping("/updateSalesPrice")
ResultBean updateSalesPrice(@RequestParam("skuSid") String skuSid,@RequestParam("salesPrice") String salesPrice);
}

25
yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smspricestrategybilldetail/SmsPricesTrategyBillDetailFeign.java

@ -0,0 +1,25 @@
package com.yxt.wms.feign.sms.smspricestrategybilldetail;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @description:
* @author: dimengzhe
* @date: 2024/3/20
**/
@FeignClient(
contextId = "yxt-sms-SmsPricesTrategyBillDetail",
name = "yxt-sms",
path = "v1/smspricestrategybilldetail"
)
public interface SmsPricesTrategyBillDetailFeign {
@ApiOperation("根据商品类别sid查询是否存在定调价策略")
@GetMapping("/selSid")
public ResultBean<String> selSid(@RequestParam("goodsTypeSid") String goodsTypeSid,@RequestParam("deptSid") String deptSid);
}

26
yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smsspricestrategybillgoodstypedetail/SmsPricesTrategyBillGoodsTypeDetailFeign.java

@ -0,0 +1,26 @@
package com.yxt.wms.feign.sms.smsspricestrategybillgoodstypedetail;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/3/20
**/
@FeignClient(
contextId = "yxt-sms-SmsPricesTrategyBillGoodsTypeDetail",
name = "yxt-sms",
path = "v1/smspricestrategybillgoodstypedetail"
)
public interface SmsPricesTrategyBillGoodsTypeDetailFeign {
@ApiOperation("根据定调价明细sid查询")
@GetMapping("/selByMainSid")
public ResultBean<List<SmsPricestrategyBillGoodstypedetailDetailsVo>> selByMainSid(@RequestParam("mainSid") String mainSid);
}

64
yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smsspricestrategybillgoodstypedetail/SmsPricestrategyBillGoodstypedetailDetailsVo.java

@ -0,0 +1,64 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.wms.feign.sms.smsspricestrategybillgoodstypedetail;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: yxt-sms(价格策略) <br/>
* File: SmsPricestrategyBillGoodstypedetailVo.java <br/>
* Class: com.yxt.sms.api.smspricestrategybillgoodstypedetail.SmsPricestrategyBillGoodstypedetailVo <br/>
* Description: 价格策略商品类别明细 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-28 14:32:24 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "价格策略商品类别明细 视图数据详情", description = "价格策略商品类别明细 视图数据详情")
public class SmsPricestrategyBillGoodstypedetailDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("业务sid")
private String detailSid; // 业务sid
@ApiModelProperty("区间起始")
private BigDecimal rangeStart; // 区间起始
@ApiModelProperty("区间截止")
private BigDecimal rangeEnd; // 区间截止
@ApiModelProperty("加价比例")
private BigDecimal markupRate; // 加价比例
}
Loading…
Cancel
Save