diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsSalesReturnRest.java b/yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsSalesReturnRest.java index 1e473b3d09..bc07e0a0f3 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsSalesReturnRest.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsSalesReturnRest.java @@ -25,19 +25,24 @@ *********************************************************/ package com.yxt.sms.apiadmin; +import cn.hutool.core.bean.BeanUtil; import com.yxt.common.base.utils.ExportExcelUtils; 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.smssalesbill.SmsSalesBillExportVo; -import com.yxt.sms.biz.smssalesbill.SmsSalesBillQuery; + import com.yxt.sms.biz.smssalesreturn.*; +import com.yxt.sms.biz.smssalesreturn.flowable.*; +import com.yxt.sms.feign.flowable.flow.BusinessVariables; +import com.yxt.sms.feign.flowable.flow.ProcDefEnum; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.List; @@ -61,94 +66,149 @@ import java.util.List; @RequestMapping("/apiadmin/v1/smssalesreturn") public class SmsSalesReturnRest { - @Autowired - private SmsSalesReturnService smsSalesReturnService; - @Autowired - HttpServletResponse response; - - @ApiOperation("退货单查询原单列表") - @PostMapping("/listPageReturn") - public ResultBean> listPageReturn(@RequestBody PagerQuery pq){ - ResultBean rb = ResultBean.fireFail(); - PagerVo pv = smsSalesReturnService.listPageReturn(pq); - return rb.success().setData(pv); - } - - - - @ApiOperation("根据条件分页查询数据的列表") - @PostMapping("/listPage") - public ResultBean> listPage(@RequestBody PagerQuery pq){ - ResultBean rb = ResultBean.fireFail(); - PagerVo pv = smsSalesReturnService.listPageVo(pq); - return rb.success().setData(pv); - } - - @PostMapping("/exportExcel") - @ApiOperation(value = "导出") - public void exportExcel(@RequestBody SmsSalesReturnQuery query) { - //得到所有要导出的数据 - List exportVoList = smsSalesReturnService.listExcel(query); - //定义导出的excel名字 - String excelName = "销售退货单列表"; - String fileNameURL = ""; - try { - fileNameURL = URLEncoder.encode(excelName, "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - ExportExcelUtils.export(fileNameURL, exportVoList, SmsSalesBillReturnExportVo.class, response); - - } - - @ApiOperation("新增或修改") - @PostMapping("/save") - public ResultBean save(@RequestBody SmsSalesReturnDto dto){ - ResultBean rb = ResultBean.fireFail(); - smsSalesReturnService.saveOrUpdateDto(dto); - return rb.success(); - } - - @ApiOperation("作废") - @PostMapping("/invalid") - public ResultBean invalid(@RequestParam("sid") String sid){ - ResultBean rb = ResultBean.fireFail(); - smsSalesReturnService.invalid(sid); - return rb.success(); - } - - - @ApiOperation("根据sid批量删除") - @PostMapping("/delBySids") - public ResultBean delBySids(@RequestBody String[] sids){ - ResultBean rb = ResultBean.fireFail(); - smsSalesReturnService.delBySids(sids); - return rb.success(); - } - - - @ApiOperation("根据SID获取一条记录") + @Autowired + private SmsSalesReturnService smsSalesReturnService; + @Autowired + HttpServletResponse response; + + @ApiOperation("退货单查询原单列表") + @PostMapping("/listPageReturn") + public ResultBean> listPageReturn(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = smsSalesReturnService.listPageReturn(pq); + return rb.success().setData(pv); + } + + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = smsSalesReturnService.listPageVo(pq); + return rb.success().setData(pv); + } + + @PostMapping("/exportExcel") + @ApiOperation(value = "导出") + public void exportExcel(@RequestBody SmsSalesReturnQuery query) { + //得到所有要导出的数据 + List exportVoList = smsSalesReturnService.listExcel(query); + //定义导出的excel名字 + String excelName = "销售退货单列表"; + String fileNameURL = ""; + try { + fileNameURL = URLEncoder.encode(excelName, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + ExportExcelUtils.export(fileNameURL, exportVoList, SmsSalesBillReturnExportVo.class, response); + + } + + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody SmsSalesReturnDto dto) { + ResultBean rb = ResultBean.fireFail(); + smsSalesReturnService.saveOrUpdateDto(dto); + return rb.success(); + } + + @ApiOperation("作废") + @PostMapping("/invalid") + public ResultBean invalid(@RequestParam("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + smsSalesReturnService.invalid(sid); + return rb.success(); + } + + + @ApiOperation("根据sid批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids) { + return smsSalesReturnService.deleteBySids(sids); + } + + + @ApiOperation("根据SID获取一条记录") @GetMapping("/fetchDetailsBySid/{sid}") - public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){ - ResultBean rb = ResultBean.fireFail(); - SmsSalesReturnDetailsVo vo = smsSalesReturnService.fetchDetailsVoBySid(sid); - return rb.success().setData(vo); - } - - - @ApiOperation("退货开单初始化") - @GetMapping("/returnBillInit/{sid}") - public ResultBean returnBillInit(@PathVariable("sid") String sid){ - ResultBean rb = ResultBean.fireFail(); - SmsSalesInsertVo vo = smsSalesReturnService.returnBillInit(sid); - return rb.success().setData(vo); - } - - @ApiOperation("商品退货初始化") - @GetMapping("/returnGoodsBillInit") - public ResultBean returnGoodsBillInit(@RequestParam("sid") String sid,@RequestParam("type") String type){ - ResultBean rb = ResultBean.fireFail(); - SmsSalesReturnNewDetailsVo vo = smsSalesReturnService.returnGoodsBillInit(sid,type); - return rb.success().setData(vo); - } + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + SmsSalesReturnNewDetailsVo vo = smsSalesReturnService.fetchNewDetailsVoBySid(sid); + return rb.success().setData(vo); + } + + + @ApiOperation("退货开单初始化") + @GetMapping("/returnBillInit/{sid}") + public ResultBean returnBillInit(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + SmsSalesInsertVo vo = smsSalesReturnService.returnBillInit(sid); + return rb.success().setData(vo); + } + + @ApiOperation("商品退货初始化") + @GetMapping("/returnGoodsBillInit") + public ResultBean returnGoodsBillInit(@RequestParam("sid") String sid, @RequestParam("type") String type) { + ResultBean rb = ResultBean.fireFail(); + SmsSalesReturnNewDetailsVo vo = smsSalesReturnService.returnGoodsBillInit(sid, type); + return rb.success().setData(vo); + } + + @ApiOperation("新增或修改") + @PostMapping("/saveBill") + public ResultBean saveBill(@RequestBody SmsSalesReturnNewDto dto) { + return smsSalesReturnService.saveBill(dto); + } + + //---------------------------------flow---------------------------------------- + @ApiOperation("提交审批流程") + @PostMapping("/submit") + public ResultBean submit(@RequestBody @Valid SubmitSmsGoodsReturnDto dto) { + return smsSalesReturnService.submit(dto); + } + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody SmsGoodsReturnCompleteDto query) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(ProcDefEnum.SMSSALESRETURN.getProDefId()); + return smsSalesReturnService.complete(bv); + } + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + public ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap SmsGoodsReturnNodeQuery query) { + return smsSalesReturnService.getPreviousNodesForReject(query); + } + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + public ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap SmsGoodsReturnNodeQuery query) { + return smsSalesReturnService.getNextNodesForSubmit(query); + } + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean reject(@Valid @RequestBody SmsGoodsReturnTaskQuery query) { + return smsSalesReturnService.reject(query); + } + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@Valid @RequestBody SmsGoodsReturnTaskQuery query) { + return smsSalesReturnService.revokeProcess(query); + } + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@Valid @RequestBody SmsGoodsReturnTaskQuery query) { + return smsSalesReturnService.breakProcess(query); + } + + @ApiOperation(value = "加签") + @PostMapping(value = "/delegate") + public ResultBean delegate(@RequestBody SmsGoodsReturnDelegateQuery query) { + return smsSalesReturnService.delegate(query); + } } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturn.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturn.java index e4063a91fd..570498cb72 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturn.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturn.java @@ -79,7 +79,7 @@ public class SmsSalesReturn extends BaseEntity { @ApiModelProperty("申请部门sid") private String deptSid; // 申请部门sid @ApiModelProperty("申请部门") - private String dept; // 申请部门 + private String deptName; // 申请部门 @ApiModelProperty("taskId") private String taskId; // taskId @ApiModelProperty("环节定义的sid") @@ -97,6 +97,6 @@ public class SmsSalesReturn extends BaseEntity { private BigDecimal payableAmount; // 应付金额 @ApiModelProperty("合计金额") private BigDecimal totalAmount; // 合计金额 - + private Integer type; //0维修工单 1销售单 } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnMapper.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnMapper.java index 1296bc5fef..fd08b76fed 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnMapper.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnMapper.java @@ -36,6 +36,7 @@ import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; +import java.util.Map; /** * Project: sms(sms)
@@ -55,11 +56,11 @@ public interface SmsSalesReturnMapper extends BaseMapper { //@Update("update sms_sales_return set name=#{msg} where id=#{id}") //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); - + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); - + @Select("select * from sms_sales_return") List selectListVo(); @@ -68,4 +69,14 @@ public interface SmsSalesReturnMapper extends BaseMapper { String selRetunGoodsNum(@Param("sid") String sid,@Param("inventorySid") String inventorySid); List listExcel(@Param(Constants.WRAPPER)QueryWrapper qw); -} \ No newline at end of file + + String selBackCountByGoodsID(@Param("goodsID") String goodsID, @Param("sid")String sid); + + int selectNum(String bill); + + IPage listPage(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + + int selectBySid(String join); + + int updateFlowFiled(Map map); +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnMapper.xml b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnMapper.xml index 48276dd4ba..95ce7c79fa 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnMapper.xml +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnMapper.xml @@ -1,7 +1,22 @@ - + + UPDATE sms_sales_return + SET nodeState=#{nodeState} + , nodeSid=#{taskDefKey} + + , procDefId=#{procDefId} + + + , procInstId=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid = #{sid} + + - + @@ -83,4 +98,44 @@ ( SELECT @rank := 0 ) t ${ew.sqlSegment} - \ No newline at end of file + + + + + diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDetailsVo.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDetailsVo.java index 2b5e9e1b9f..5de02dc9c5 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDetailsVo.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDetailsVo.java @@ -25,7 +25,9 @@ public class SmsSalesReturnNewDetailsVo implements Vo { @ApiModelProperty("创建组织sid") private String createOrgSid; // 创建组织sid private String remarks; - + @ApiModelProperty("制单人姓名") + private String createByName; // 制单人姓名 + private String createBySid; @ApiModelProperty("来源单编号") private String sourceBillSid; // 来源单编号 @ApiModelProperty("来源单编号") @@ -59,5 +61,8 @@ public class SmsSalesReturnNewDetailsVo implements Vo { private List sitemVos = new ArrayList<>();// 服务项目 private List goodsDetailsVos = new ArrayList<>(); //商品信息 private List returnGoods = new ArrayList<>(); //退货商品列表 - + @ApiModelProperty("任务id") + private String taskId; + @ApiModelProperty("实例id") + private String instanceId; } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDto.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDto.java index 247fb31a64..70616ed2da 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDto.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDto.java @@ -25,7 +25,9 @@ public class SmsSalesReturnNewDto implements Dto { @ApiModelProperty("创建组织sid") private String createOrgSid; // 创建组织sid private String remarks; - + @ApiModelProperty("制单人姓名") + private String createByName; // 制单人姓名 + private String createBySid; @ApiModelProperty("来源单编号") private String sourceBillSid; // 来源单编号 @ApiModelProperty("来源单编号") diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnQuery.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnQuery.java index 8c2fecbe55..228ab1d1ca 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnQuery.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnQuery.java @@ -51,10 +51,23 @@ import java.math.BigDecimal; @ApiModel(value = "销售退货单据 查询条件", description = "销售退货单据 查询条件") public class SmsSalesReturnQuery implements Query { - private String queryName; - private String startDate; - private String endDate; - @ApiModelProperty("使用组织sid") - private String useOrgSid; // 使用组织sid + @ApiModelProperty("分公司") + private String useOrgName;//分公司 + @ApiModelProperty("制单部门") + private String deptName;//制单部门 + @ApiModelProperty("制单人姓名") + private String createByName; // 制单人姓名 + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + private String startDate; //开始日期 + private String endDate; //结束日期 + private String colesStartDate; //办结开始日期 + private String colesEndDate; //办结结束日期 + + @ApiModelProperty("使用组织sid") + private String orgPath; + private String userSid; + @ApiModelProperty("菜单url") + private String menuUrl; } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java index ba829414dd..42f1c1c905 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java @@ -26,7 +26,9 @@ package com.yxt.sms.biz.smssalesreturn; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.sms.biz.smssalesbill.*; @@ -36,15 +38,31 @@ import com.yxt.sms.biz.smssalesbillinvoice.SmsSalesBillInvoice; import com.yxt.sms.biz.smssalesbillinvoice.SmsSalesBillInvoiceService; import com.yxt.sms.biz.smssalesbillsettle.SmsSalesBillSettle; import com.yxt.sms.biz.smssalesbillsettle.SmsSalesBillSettleService; +import com.yxt.sms.biz.smssalesreturn.flowable.*; import com.yxt.sms.biz.smssalesreturndetail.SmsSalesReturnDetail; import com.yxt.sms.biz.smssalesreturndetail.SmsSalesReturnDetailService; import com.yxt.sms.biz.smssalesreturnsettle.SmsSalesReturnSettle; import com.yxt.sms.biz.smssalesreturnsettle.SmsSalesReturnSettleService; import com.yxt.sms.feign.as.asbusrepairbill.*; +import com.yxt.sms.feign.flowable.flow.*; +import com.yxt.sms.feign.flowable.flow2.FlowDelegateQuery; +import com.yxt.sms.feign.flowable.flow2.FlowFeign; +import com.yxt.sms.feign.flowable.flowtask.FlowTaskFeign; +import com.yxt.sms.feign.flowable.flowtask.FlowTaskVo; +import com.yxt.sms.feign.flowable.flowtask.LatestTaskVo; import com.yxt.sms.feign.fms.fmspaysettle.FmsPaysettleDto; import com.yxt.sms.feign.fms.fmspaysettle.FmsPaysettleFeign; +import com.yxt.sms.feign.message.MessageFeign; +import com.yxt.sms.feign.message.MessageFlowVo; +import com.yxt.sms.feign.message.MessageFlowableQuery; +import com.yxt.sms.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.sms.feign.portal.sysorganization.SysOrganizationVo; +import com.yxt.sms.feign.privilege.PrivilegeQuery; +import com.yxt.sms.feign.sysuser.SysUserFeign; import com.yxt.sms.feign.wms.wmsinventory.WmsInventoryFeign; import com.yxt.sms.feign.wms.wmsinventory.WmsUpdateCountQuery; +import com.yxt.sms.utils.SmsBillNo; +import com.yxt.sms.utils.SmsRule; import org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -59,8 +77,8 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** * Project: sms(sms)
@@ -96,24 +114,36 @@ public class SmsSalesReturnService extends MybatisBaseService createQueryWrapper(SmsSalesReturnQuery query) { // todo: 这里根据具体业务调整查询条件 // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); QueryWrapper qw = new QueryWrapper<>(); - if (StringUtils.isNotBlank(query.getQueryName())) { - qw.and(wrapper -> wrapper.like("r.createByName", query.getQueryName()) - .or().like("r.billNo", query.getQueryName()) - .or().like("b.salesName", query.getQueryName()) - .or().like("b.customerName", query.getQueryName()) - .or().like("b.mobile", query.getQueryName()) - .or().like("b.vehMark", query.getQueryName()) - .or().like("r.sourceBillNo", query.getQueryName()) - ); - } - if (StringUtils.isNotBlank(query.getUseOrgSid())) { - qw.eq("r.useOrgSid", query.getUseOrgSid()); - } +// if (StringUtils.isNotBlank(query.getQueryName())) { +// qw.and(wrapper -> wrapper.like("r.createByName", query.getQueryName()) +// .or().like("r.billNo", query.getQueryName()) +// .or().like("b.salesName", query.getQueryName()) +// .or().like("b.customerName", query.getQueryName()) +// .or().like("b.mobile", query.getQueryName()) +// .or().like("b.vehMark", query.getQueryName()) +// .or().like("r.sourceBillNo", query.getQueryName()) +// ); +// } +// if (StringUtils.isNotBlank(query.getUseOrgSid())) { +// qw.eq("r.useOrgSid", query.getUseOrgSid()); +// } String startDate = query.getStartDate(); String endDate = query.getEndDate(); qw.apply(StringUtils.isNotEmpty(startDate), "date_format (r.createTime,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"). @@ -126,9 +156,69 @@ public class SmsSalesReturnService extends MybatisBaseService listPageVo(PagerQuery pq) { SmsSalesReturnQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getMenuUrl())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("so.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("so.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("so.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("so.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("s.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getUseOrgName())) { + qw.like("s.useOrgName", query.getUseOrgName()); + } + if (StringUtils.isNotBlank(query.getDeptName())) { + qw.like("s.deptName", query.getDeptName()); + } + if (StringUtils.isNotBlank(query.getCreateByName())) { + qw.like("s.createByName", query.getCreateByName()); + } + if (StringUtils.isNotBlank(query.getBillNo())) { + qw.like("s.billNo", query.getBillNo()); + } + String startDate = query.getStartDate(); + String endDate = query.getStartDate(); + qw.apply(StringUtils.isNotEmpty(startDate), "date_format (s.createTime,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(endDate), "date_format (s.createTime,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')" + ); + String closeDateStart = query.getColesStartDate(); + String closeDateEnd = query.getColesEndDate(); + qw.apply(StringUtils.isNotEmpty(closeDateStart), "date_format (s.closeDate,'%Y-%m-%d') >= date_format('" + closeDateStart + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(closeDateEnd), "date_format (s.closeDate,'%Y-%m-%') <= date_format('" + closeDateEnd + "','%Y-%m-%d')" + ); IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw); + IPage pagging = baseMapper.listPage(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } @@ -407,7 +497,7 @@ public class SmsSalesReturnService extends MybatisBaseService resultBean1 = sysOrganizationFeign.fetchBySid(orgSid); + String orgCode = resultBean1.getData().getOrgCode(); + SmsBillNo b = new SmsBillNo(); + b.setOrgCode(orgCode); + b.setBillType("THD"); + String bill = SmsRule.getBill(b); + int i = baseMapper.selectNum(bill); + String billNo = SmsRule.getBillNo(bill, i); + return billNo; + } + + public ResultBean saveBill(SmsSalesReturnNewDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = ""; + List goodsVos = dto.getReturnGoods(); + if (!goodsVos.isEmpty()) { + for (SalesGoodsReturnVo goodsVo : goodsVos) { + BigDecimal reCount = new BigDecimal(goodsVo.getReturnedCount()); //已退数量 + BigDecimal backCount = new BigDecimal(goodsVo.getBackCount()); //退货数量 + BigDecimal add = reCount.add(backCount); + BigDecimal currentCount = new BigDecimal(goodsVo.getCurrentCount()); //总数量 + if (add.compareTo(currentCount) > 0) { + return rb.setMsg("退货数量不能大于总数量"); + } + } + } + if (StringUtils.isNotBlank(dto.getSid())) { + sid = dto.getSid(); + SmsSalesReturn smsSalesReturn = fetchBySid(sid); + BeanUtil.copyProperties(dto, smsSalesReturn, "id", "sid"); + baseMapper.updateById(smsSalesReturn); + smsSalesReturnDetailService.deleteByMainSid(sid); + } else { + SmsSalesReturn entity = new SmsSalesReturn(); + sid = entity.getSid(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + String applyCode = getApplyCode(dto.getCreateOrgSid()); + entity.setBillNo(applyCode); + entity.setNodeState("待提交"); + baseMapper.insert(entity); + } + List returnGoods = dto.getReturnGoods(); + if (!returnGoods.isEmpty()) { + for (SalesGoodsReturnVo returnGood : returnGoods) { + SmsSalesReturnDetail detail = new SmsSalesReturnDetail(); + BeanUtil.copyProperties(returnGood, detail, "id", "sid"); + detail.setBillSid(sid); + smsSalesReturnDetailService.insert(detail); + } + } + return rb.success().setData(sid); + } + + public SmsSalesReturnNewDetailsVo fetchNewDetailsVoBySid(String sid) { + SmsSalesReturnNewDetailsVo vo = new SmsSalesReturnNewDetailsVo(); + SmsSalesReturn smsSalesReturn = fetchBySid(sid); + if (null != smsSalesReturn) { + BeanUtil.copyProperties(smsSalesReturn, vo); + Integer type = smsSalesReturn.getType(); + vo.setCreateTime(DateUtil.formatDate(smsSalesReturn.getCreateTime())); + if (StringUtils.isNotBlank(smsSalesReturn.getProcInstId())) { + vo.setInstanceId(smsSalesReturn.getProcInstId()); + } + if (type == 0) { + //维修工单 + AsBusrepairBillDetailsVo data = asBusrepairBillFeign.fetchDetailsBySid(smsSalesReturn.getSourceBillSid()).getData(); + if (null != data) { + vo.setSourceBillNo(data.getBillNo()); + vo.setBillType(data.getBillType()); + vo.setBillDate(data.getCreateDate()); + if (StringUtils.isNotBlank(data.getSubject())) { + vo.setSubject(data.getSubject()); + } + if (StringUtils.isNotBlank(data.getWaitorName())) { + vo.setWaitorName(data.getWaitorName()); + } + if (StringUtils.isNotBlank(data.getCustomerName())) { + vo.setCustomerName(data.getCustomerName()); + } + if (StringUtils.isNotBlank(data.getMobile())) { + vo.setMobile(data.getMobile()); + } + if (StringUtils.isNotBlank(data.getCustomerOrg())) { + vo.setCustomerOrg(data.getCustomerOrg()); + } + if (StringUtils.isNotBlank(data.getVehMark())) { + vo.setVehMark(data.getVehMark()); + } + if (StringUtils.isNotBlank(data.getVinNo())) { + vo.setVinNo(data.getVinNo()); + } + SettleVo settleVo = data.getSettleVo(); + if (null != settleVo) { + vo.setSettleDate(settleVo.getSettleTime()); + } + List sitemVos = data.getSitemVos(); + List smsSitemVos = new ArrayList<>(); + if (!sitemVos.isEmpty()) { + for (SitemVo smsSitemVo : sitemVos) { + SmsSitemVo sitemVo = new SmsSitemVo(); + BeanUtil.copyProperties(smsSitemVo, sitemVo); + smsSitemVos.add(sitemVo); + } + vo.setSitemVos(smsSitemVos); + } + List goodsDetailsVos = data.getGoodsDetailsVos(); + List smsGoodsDetailsVos = new ArrayList<>(); + if (!goodsDetailsVos.isEmpty()) { + for (GoodsDetailsVo goodsDetailsVo : goodsDetailsVos) { + SmsGoodsDetailsVo smsGoodsDetailsVo = new SmsGoodsDetailsVo(); + BeanUtil.copyProperties(goodsDetailsVo, smsGoodsDetailsVo); + //查询已退数量 + String goodsID = goodsDetailsVo.getGoodsID(); + String sumBackCount = baseMapper.selBackCountByGoodsID(goodsID, sid); + smsGoodsDetailsVo.setReturnedCount(sumBackCount); + smsGoodsDetailsVos.add(smsGoodsDetailsVo); + } + vo.setGoodsDetailsVos(smsGoodsDetailsVos); + } + } + } else if (type == 1) { + //销售单 + SmsSalesBillDetailsVo data = smsSalesBillService.fetchDetailsVoBySid(smsSalesReturn.getSourceBillSid()); + if (null != data) { + vo.setSourceBillNo(data.getBillNo()); + vo.setBillType("销售单"); + vo.setBillDate(data.getCreateTime()); + if (StringUtils.isNotBlank(data.getSubject())) { + vo.setSubject(data.getSubject()); + } + if (StringUtils.isNotBlank(data.getSalesName())) { + vo.setWaitorName(data.getSalesName()); + } + if (StringUtils.isNotBlank(data.getCustomerName())) { + vo.setCustomerName(data.getCustomerName()); + } + if (StringUtils.isNotBlank(data.getMobile())) { + vo.setMobile(data.getMobile()); + } + if (StringUtils.isNotBlank(data.getCustomerOrg())) { + vo.setCustomerOrg(data.getCustomerOrg()); + } + if (StringUtils.isNotBlank(data.getVehMark())) { + vo.setVehMark(data.getVehMark()); + } + if (StringUtils.isNotBlank(data.getVinNo())) { + vo.setVinNo(data.getVinNo()); + } + SettlementVo settleVo = data.getSettlementVo(); + if (null != settleVo) { + vo.setSettleDate(settleVo.getSettleTime()); + } + List goodsDetailsVos = data.getGoodsVos(); + List smsGoodsDetailsVos = new ArrayList<>(); + if (!goodsDetailsVos.isEmpty()) { + for (SalesGoodsVo goodsDetailsVo : goodsDetailsVos) { + SmsGoodsDetailsVo smsGoodsDetailsVo = new SmsGoodsDetailsVo(); + BeanUtil.copyProperties(goodsDetailsVo, smsGoodsDetailsVo); + //查询已退数量 + String goodsID = goodsDetailsVo.getGoodsID(); + String sumBackCount = baseMapper.selBackCountByGoodsID(goodsID, sid); + smsGoodsDetailsVo.setReturnedCount(sumBackCount); + smsGoodsDetailsVos.add(smsGoodsDetailsVo); + smsGoodsDetailsVos.add(smsGoodsDetailsVo); + } + vo.setGoodsDetailsVos(smsGoodsDetailsVos); + } + } + } + List details = smsSalesReturnDetailService.fetchByBillSid(sid); + if (!details.isEmpty()) { + List returnGoods = new ArrayList<>(); //退货商品列表 + for (SmsSalesReturnDetail detail : details) { + SalesGoodsReturnVo returnVo = new SalesGoodsReturnVo(); + BeanUtil.copyProperties(detail, returnVo, "id", "sid"); + returnGoods.add(returnVo); + } + vo.setReturnGoods(returnGoods); + } + } + return vo; + } + + public ResultBean deleteBySids(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + //查询该sid中是否有结算的 + int count = baseMapper.selectBySid(StringUtils.join(sids, ",")); + if (count > 0) { + return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败"); + } + delBySids(sids); + for (String sid : sids) { + smsSalesReturnDetailService.deleteByMainSid(sid); + } + return rb.success(); + } + + //--------------------------flow---------------------------------- + public ResultBean submit(SubmitSmsGoodsReturnDto dto) { + ResultBean rb = ResultBean.fireFail(); + SmsSalesReturn smsSalesReturn = fetchBySid(dto.getSid()); + int r = submitBusinessData(dto, smsSalesReturn); + if (r == 3) { + return rb.setMsg("该申请不存在"); + } + if (r == 0) { + return rb.setMsg("操作失败!提交的数据不一致"); + } + //新增修改保存 + ResultBean resultBean = saveBill(dto); + String businessSid = ""; + if (resultBean.getSuccess()) { + businessSid = resultBean.getData(); + } else { + return rb.setMsg(resultBean.getMsg()); + } + smsSalesReturn = fetchBySid(businessSid); + //创建BusinessVariables实体对象 + BusinessVariables bv = new BusinessVariables(); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //用户的部门全路径sid + SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(smsSalesReturn.getDeptSid()).getData(); + bv.setOrgSidPath(deptVo.getOrgSidPath()); + //业务sid + bv.setBusinessSid(businessSid); + //用户sid + bv.setUserSid(smsSalesReturn.getCreateBySid()); + //若app移动端有此功能,则传递appMap参数 + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + //需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。 + variables.put("app", appMap); + //流程定义id + bv.setModelId(ProcDefEnum.SMSSALESRETURN.getProDefId()); + bv.setFormVariables(variables); + if (r == 1) { + ResultBean voResultBean = flowFeign.startProcess(bv); + UpdateFlowFieldVo ufVo = voResultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(ufVo)); + //极光推送 + smsSalesReturn = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("商品退货申请"); + messageFlowableQuery.setMsgContent(smsSalesReturn.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("商品退货申请"); + messageFeign.pushMessage(messageFlowableQuery); + return voResultBean; + } + if (r == 2) { + // ToDo:驳回到发起人后再次提交 + if (StringUtils.isBlank(dto.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + bv.setTaskId(smsSalesReturn.getTaskId()); + bv.setTaskDefKey(smsSalesReturn.getNodeSid()); + bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } + return rb; + } + + private synchronized int submitBusinessData(SubmitSmsGoodsReturnDto dto, SmsSalesReturn smsSalesReturn) { + int r = 0; + if (StringUtils.isBlank(dto.getSid())) { + r = 1; + } else { + if (smsSalesReturn != null) { + String businessTaskId = smsSalesReturn.getTaskId(); + if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { + //新提交 + r = 1; + } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { + //二次提交//只有数据一致的时候才能进行下一步 + r = 2; + } + } else { + r = 3; + } + + } + return r; + } + + private int updateFlowFiled(Map map) { + return baseMapper.updateFlowFiled(map); + } + + public ResultBean complete(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = bv.getBusinessSid(); + SmsSalesReturn smsSalesReturn = fetchBySid(businessSid); + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); + if (StringUtils.isBlank(smsSalesReturn.getProcDefId())) { + flowProcessMapQuery.setProDefKey(bv.getModelId()); + } else { + flowProcessMapQuery.setProDefKey(smsSalesReturn.getProcDefId()); + } + flowProcessMapQuery.setVariables(variables); + variables = flowableFeign.getMap(flowProcessMapQuery).getData(); + //======================================= + bv.setFormVariables(variables); + SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(smsSalesReturn.getDeptSid()).getData(); + bv.setOrgSidPath(deptVo.getOrgSidPath()); + if (bv.getTaskId().equals(smsSalesReturn.getTaskId())) { + ResultBean resultBean = flowFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { + smsSalesReturn = fetchBySid(businessSid); + smsSalesReturn.setCloseDate(new Date()); + baseMapper.updateById(smsSalesReturn); + + + + + } else { + //极光推送 + smsSalesReturn = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + ufVo.setProcDefId(smsSalesReturn.getProcDefId()); + ufVo.setProcInsId(smsSalesReturn.getProcInstId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("商品退货申请"); + messageFlowableQuery.setMsgContent(smsSalesReturn.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("商品退货申请"); + messageFeign.pushMessage(messageFlowableQuery); + } + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + + public ResultBean> getPreviousNodesForReject(SmsGoodsReturnNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(ProcDefEnum.SMSSALESRETURN.getProDefId()); + ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), SmsGoodsReturnNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean> getNextNodesForSubmit(SmsGoodsReturnNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(ProcDefEnum.SMSSALESRETURN.getProDefId()); + ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), SmsGoodsReturnNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean reject(SmsGoodsReturnTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = query.getBusinessSid(); + SmsSalesReturn reverseSettle = fetchBySid(businessSid); + if (reverseSettle == null) { + return rb.setMsg("该申请不存在"); + } + String businessTaskId = reverseSettle.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + flowTaskVo.setValues(variables); + ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + Map map = BeanUtil.beanToMap(ufVo); + //更新业务中的流程相关的参数 + updateFlowFiled(map); + //极光推送 + reverseSettle = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + String procId = reverseSettle.getProcInstId(); + ufVo.setProcInsId(procId); + ufVo.setProcDefId(reverseSettle.getProcDefId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("商品退货申请"); + ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); + String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); + List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); + if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(reverseSettle.getCreateBySid())) { + messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); + } else { + messageFlowableQuery.setMsgContent(reverseSettle.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + } + messageFlowableQuery.setMsgTitle("商品退货申请"); + messageFeign.pushMessage(messageFlowableQuery); + return rb.success(); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean revokeProcess(SmsGoodsReturnTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + SmsSalesReturn smsSalesReturn = fetchBySid(query.getBusinessSid()); + String businessTaskId = smsSalesReturn.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + return rb.success().setData(resultBean.getData()); + } + } + return rb.setMsg("操作失败,提交的数据不一致!"); + } + + public ResultBean breakProcess(SmsGoodsReturnTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + SmsSalesReturn smsSalesReturn = fetchBySid(query.getBusinessSid()); + String businessTaskId = smsSalesReturn.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (query.getUserSid().equals(smsSalesReturn.getCreateBySid())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } else { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } + } + + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean delegate(SmsGoodsReturnDelegateQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(query, delegateQuery); + flowFeign.delegate(delegateQuery); + return rb.success(); + } + } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnVo.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnVo.java index 79fd8f805e..03e3ced624 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnVo.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnVo.java @@ -33,6 +33,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; +import java.util.Date; /** * Project: sms(sms)
@@ -52,40 +53,26 @@ import java.math.BigDecimal; public class SmsSalesReturnVo implements Vo { private String sid; // sid - - @ApiModelProperty("制单人姓名") - private String createByName; // 制单人姓名 - @ApiModelProperty("开单时间") - private String createTime; // 制单人姓名 -// @ApiModelProperty("来源单sid(销售单sid)") -// private String sourceBillSid; // 来源单sid(销售单sid) - @ApiModelProperty("来源单编号") - private String sourceBillNo; // 来源单编号 + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 @ApiModelProperty("单据编号") private String billNo; // 单据编号 - // @ApiModelProperty("退误差调整金额") -// private String backErrorAmount; // 退误差调整金额 - @ApiModelProperty("退优惠金额") - private String backDiscountAmount; // 退优惠金额 - @ApiModelProperty("抵扣欠款") - private String deductDebts; // 抵扣欠款 - // @ApiModelProperty("抵扣单号") -// private String deductBillNo; // 抵扣单号 -// @ApiModelProperty("转入预付款") -// private String toPrepayment; // 转入预付款 - @ApiModelProperty("客户名称") - private String customerName; // 客户名称 - @ApiModelProperty("联系电话") - private String mobile; // 联系电话 - @ApiModelProperty("车辆牌照") - private String vehMark; // 车辆牌照 - @ApiModelProperty("客户单位") - private String customerOrg; // 客户单位 - @ApiModelProperty("销售姓名") - private String salesName; // 销售姓名 - @ApiModelProperty("使用组织sid") - private String useOrgSid; // 使用组织sid - @ApiModelProperty("创建组织sid") - private String createOrgSid; // 创建组织sid - private String state; + @ApiModelProperty("分公司") + private String useOrgName; // 分公司 + @ApiModelProperty("申请部门") + private String deptName; // 申请部门 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("申请日期") + private String createTime; // 申请日期 + @ApiModelProperty("办结时间") + private String closeDate; // 办结时间 + @ApiModelProperty("应付金额") + private String payableAmount; // 应付金额 + @ApiModelProperty("合计金额") + private String totalAmount; // 合计金额 + @ApiModelProperty("流程实例的sid") + private String procInstId; // 流程实例的sid + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SmsGoodsReturnCompleteDto.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SmsGoodsReturnCompleteDto.java new file mode 100644 index 0000000000..8d09204763 --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SmsGoodsReturnCompleteDto.java @@ -0,0 +1,37 @@ +package com.yxt.sms.biz.smssalesreturn.flowable; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/9/6 14:57 + * @Description + */ +@Data +public class SmsGoodsReturnCompleteDto implements Dto { + private static final long serialVersionUID = 6378752532534735663L; + + @ApiModelProperty(value = "用户sid") + private String userSid; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id(PC)") + private String instanceId; + @ApiModelProperty(value = "流程id(移动)") + private String procInsId; + @ApiModelProperty(value = "意见") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + + private String orgPath; +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SmsGoodsReturnDelegateQuery.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SmsGoodsReturnDelegateQuery.java new file mode 100644 index 0000000000..ccdb66f896 --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SmsGoodsReturnDelegateQuery.java @@ -0,0 +1,26 @@ +package com.yxt.sms.biz.smssalesreturn.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 9:28 + */ +@Data +public class SmsGoodsReturnDelegateQuery { + @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; + + +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SmsGoodsReturnNodeQuery.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SmsGoodsReturnNodeQuery.java new file mode 100644 index 0000000000..d7f9ab58c4 --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SmsGoodsReturnNodeQuery.java @@ -0,0 +1,25 @@ +package com.yxt.sms.biz.smssalesreturn.flowable; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/9/6 15:04 + * @Description + */ +@Data +public class SmsGoodsReturnNodeQuery implements Query { + private static final long serialVersionUID = 9117613683840483366L; + + @ApiModelProperty(value = "环节定义id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + @ApiModelProperty(value = "0 上一环节 1下一环节") + private Integer next; +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SmsGoodsReturnNodeVo.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SmsGoodsReturnNodeVo.java new file mode 100644 index 0000000000..f81568d925 --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SmsGoodsReturnNodeVo.java @@ -0,0 +1,26 @@ +package com.yxt.sms.biz.smssalesreturn.flowable; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/9/6 15:03 + * @Description + */ +@Data +public class SmsGoodsReturnNodeVo implements Vo { + private static final long serialVersionUID = -833419512294877848L; + + @ApiModelProperty(value = "节点名称") + private String name; + @ApiModelProperty(value = "节点id") + private String id; + @ApiModelProperty(value = "审批组") + private List candidateGroups; + @ApiModelProperty(value = "是否是最后环节") + private String endTask; +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SmsGoodsReturnTaskQuery.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SmsGoodsReturnTaskQuery.java new file mode 100644 index 0000000000..24959d1ecd --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SmsGoodsReturnTaskQuery.java @@ -0,0 +1,48 @@ +package com.yxt.sms.biz.smssalesreturn.flowable; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/9/6 15:06 + * @Description + */ +@Data +public class SmsGoodsReturnTaskQuery implements Query { + private static final long serialVersionUID = 1288615499873178778L; + + /** + * 终止、驳回、撤回 + */ + @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(PC)") + private String instanceId; + + @ApiModelProperty("流程实例Id(移动)") + private String procInsId; +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SubmitSmsGoodsReturnDto.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SubmitSmsGoodsReturnDto.java new file mode 100644 index 0000000000..496daf44ef --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/flowable/SubmitSmsGoodsReturnDto.java @@ -0,0 +1,25 @@ +package com.yxt.sms.biz.smssalesreturn.flowable; + + +import com.yxt.sms.biz.smssalesreturn.SmsSalesReturnNewDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author liuguohui + * @version 1.0 + * @description + * @date 2022/04/13 + */ +@ApiModel("提交") +@Data +public class SubmitSmsGoodsReturnDto extends SmsSalesReturnNewDto { + + @ApiModelProperty("意见") + private String comment; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetailMapper.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetailMapper.java index dde7789877..9d029ff0b5 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetailMapper.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetailMapper.java @@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -53,13 +54,16 @@ public interface SmsSalesReturnDetailMapper extends BaseMapper voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); - + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); - + @Select("select * from sms_sales_return_detail") List selectListVo(); @Select("select * from sms_sales_return_detail where billSid = #{billSid}") List fetchByBillSid(@Param("billSid") String billSid); -} \ No newline at end of file + + @Delete("delete from sms_sales_return_detail where billSid = #{billSid}") + void deleteByMainSid(String billSid); +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetailService.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetailService.java index ff8e3775fb..889c7acede 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetailService.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetailService.java @@ -61,6 +61,10 @@ public class SmsSalesReturnDetailService extends MybatisBaseService fetchByBillSid(String billSid) { return baseMapper.fetchByBillSid(billSid); } @@ -73,36 +77,36 @@ public class SmsSalesReturnDetailService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); return p; } - + public void saveOrUpdateDto(SmsSalesReturnDetailDto dto){ String dtoSid = dto.getSid(); if (StringUtils.isBlank(dtoSid)) { this.insertByDto(dto); - return; - } + return; + } this.updateByDto(dto); } - + public void insertByDto(SmsSalesReturnDetailDto dto){ SmsSalesReturnDetail entity = new SmsSalesReturnDetail(); BeanUtil.copyProperties(dto, entity, "id", "sid"); baseMapper.insert(entity); } - + public void updateByDto(SmsSalesReturnDetailDto dto){ String dtoSid = dto.getSid(); if (StringUtils.isBlank(dtoSid)) { return; - } + } SmsSalesReturnDetail entity = fetchBySid(dtoSid); BeanUtil.copyProperties(dto, entity, "id", "sid"); baseMapper.updateById(entity); } - + public SmsSalesReturnDetailDetailsVo fetchDetailsVoBySid(String sid){ SmsSalesReturnDetail entity = fetchBySid(sid); SmsSalesReturnDetailDetailsVo vo = new SmsSalesReturnDetailDetailsVo(); BeanUtil.copyProperties(entity, vo); return vo; } -} \ No newline at end of file +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/feign/flowable/flow/ProcDefEnum.java b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/flowable/flow/ProcDefEnum.java index 3824e5a42e..ebe7a2dc52 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/feign/flowable/flow/ProcDefEnum.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/flowable/flow/ProcDefEnum.java @@ -8,6 +8,7 @@ public enum ProcDefEnum { /***************************正式流程id***********************************/ SMSPRICESTRATEGYBILL("价格策略申请审批", "process_jogsdsgk:1:11807504"), + SMSSALESRETURN("商品退货申请", "process_bucc4eii:1:12245004"), ; diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsGoodsTagRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsGoodsTagRest.java index 5e988d0ef8..cf89f1ed5f 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsGoodsTagRest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsGoodsTagRest.java @@ -4,7 +4,9 @@ import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import com.yxt.wms.biz.inventory.wmsgoodstag.WmsGoodsTagService; -import com.yxt.wms.biz.inventory.wmsoutbill.*; +import com.yxt.wms.biz.inventory.wmsgoodstag.app.GoodsTagListQuery; +import com.yxt.wms.biz.inventory.wmsgoodstag.app.GoodsTagListVo; +import com.yxt.wms.biz.inventory.wmsgoodstag.pageUtil.MyPagerVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -17,11 +19,19 @@ import org.springframework.web.bind.annotation.*; **/ @Api(tags = "商品标签表") @RestController -@RequestMapping("/apiadmin/WmsGoodsTag") +@RequestMapping("/apiadmin/WmsTagPrint") public class WmsGoodsTagRest { @Autowired private WmsGoodsTagService wmsWmsGoodsTagService; + @PostMapping("goodsList") + @ApiOperation("商品标签列表") + ResultBean> goodsList(@RequestBody PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + MyPagerVo pv = wmsWmsGoodsTagService.goodsList(pagerQuery); + return rb.success().setData(pv); + } + } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.java index 8d40b031d9..124363b335 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.java @@ -1,6 +1,11 @@ package com.yxt.wms.biz.inventory.wmsgoodstag; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.wms.biz.inventory.wmsgoodstag.app.GoodsTagListVo; +import com.yxt.wms.biz.inventory.wmsreceiptbill.WmsReceiptBill; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -14,4 +19,6 @@ import org.apache.ibatis.annotations.Param; public interface WmsGoodsTagMapper extends BaseMapper { WmsGoodsTag selByBillSidAndGoodsID(@Param("billSid") String billSid, @Param("goodsID") String goodsID); + + IPage goodsList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.xml index 951d8d51ed..e83d2e94bf 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.xml @@ -5,4 +5,27 @@ + diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagService.java index e1ce482053..d1f7be24bc 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagService.java @@ -1,7 +1,21 @@ package com.yxt.wms.biz.inventory.wmsgoodstag; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.wms.biz.inventory.wmsansbill.WmsAnsBill; +import com.yxt.wms.biz.inventory.wmsansbill.WmsAnsBillVo; +import com.yxt.wms.biz.inventory.wmsgoodstag.app.GoodsTagListQuery; +import com.yxt.wms.biz.inventory.wmsgoodstag.app.GoodsTagListVo; +import com.yxt.wms.biz.inventory.wmsgoodstag.pageUtil.MyPagerUtil; +import com.yxt.wms.biz.inventory.wmsgoodstag.pageUtil.MyPagerVo; +import com.yxt.wms.biz.inventory.wmsreceiptbill.WmsReceiptBill; import org.springframework.stereotype.Service; /** @@ -16,4 +30,14 @@ public class WmsGoodsTagService extends MybatisBaseService goodsList(PagerQuery pagerQuery) { + GoodsTagListQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //ToDo:添加查询条件 + qw.eq("a.printState",0); + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.goodsList(page, qw); + MyPagerVo p = MyPagerUtil.pageToVo(pagging, null); + return p; + } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/app/GoodsTagListQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/app/GoodsTagListQuery.java new file mode 100644 index 0000000000..8b433777f6 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/app/GoodsTagListQuery.java @@ -0,0 +1,15 @@ +package com.yxt.wms.biz.inventory.wmsgoodstag.app; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/6/24 15:02 + */ +@Data +public class GoodsTagListQuery implements Query { + + +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/app/GoodsTagListVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/app/GoodsTagListVo.java new file mode 100644 index 0000000000..b4774e6bb9 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/app/GoodsTagListVo.java @@ -0,0 +1,48 @@ +package com.yxt.wms.biz.inventory.wmsgoodstag.app; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/6/24 14:47 + */ +@Data +public class GoodsTagListVo implements Vo { + + /** + * 到货日期 + */ + private String arriveTime; + /** + * 业务类型 + */ + private String businessType; + /** + * 收货人 + */ + private String consignee; + /** + * 预期到货通知单号 + */ + private String expectedArriveId; + /** + * 供应商 + */ + private String provider; + /** + * 收货单号 + */ + private String receiptId; + private String receiptSid; + /** + * 单据状态 + */ + private String state; + /** + * time + */ + private String time; + +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/pageUtil/MyPagerUtil.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/pageUtil/MyPagerUtil.java new file mode 100644 index 0000000000..e69f7d5156 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/pageUtil/MyPagerUtil.java @@ -0,0 +1,102 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsgoodstag.pageUtil; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.common.core.vo.Vo; + +import java.util.ArrayList; + +/** + * Project: jbsc-commons
+ * File: PagerUtil.java
+ * Class: org.jbase.jbsc.commons.base.utils.PagerUtil
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2020/9/22 上午9:35
+ * + * @author popo + * @version 1.0 + * @since 1.0 + */ +public abstract class MyPagerUtil { + + public static IPage queryToPage(PagerQuery pq) { + IPage page = new Page<>(); + page.setSize(pq.getSize()).setCurrent(pq.getCurrent()); + return page; + } + + public static MyPagerVo pageToVo(IPage pr, MyPagerVo pv) { + if (pv == null) + pv = new MyPagerVo(); + pv.setCurrent(pr.getCurrent()).setSize(pr.getSize()) + .setTotal(pr.getTotal()).setPages(pr.getPages()) + .setList(pr.getRecords()); + return pv; + } + + /** + * 转换pagerVo + * + * @param soure + * @param + * @return + */ + public static MyPagerVo switchPagerVo( + MyPagerVo soure) { + if (soure == null) + return null; + + MyPagerVo target = new MyPagerVo<>(); + target.setCurrent(soure.getCurrent()).setPages(soure.getPages()) + .setSize(soure.getSize()).setTotal(soure.getTotal()); + target.setList(new ArrayList()); + + return target; + } + + /* + * public static PagerVo pageVoToVo(PagerVo pvs, PagerVo + * pvt) { if (pvt == null) pvt = new PagerVo(); + * pvt.setCurrent(pvs.getCurrent + * ()).setSize(pvs.getSize()).setTotal(pvs.getTotal + * ()).setPages(pvs.getPages()); + * + * for(int i=0;i implements Serializable { + + @ApiModelProperty("总页数") + private long pages = 1L; //总页数 + @ApiModelProperty("总记录数") + private long total = 0L; //总记录数 + @ApiModelProperty("每页记录数") + private long size = 10L; //每页记录数 + @ApiModelProperty("当前页号") + private long current = 1L; //当前页号 + + @ApiModelProperty("当前页的数据") + private List list = Collections.emptyList(); //当前页的数据 + @ApiModelProperty("统计信息") + private String msg = ""; + @ApiModelProperty("其它信息") + private Map map = Collections.emptyMap(); + + + public MyPagerVo() { + this.pages = 1L; //总页数 + this.total = 0L; //总记录数 + this.size = 10L; //每页记录数 + this.current = 1L; //当前页号 + this.list = Collections.emptyList(); //当前页的数据 + } + + public MyPagerVo(long current) { + this.pages = 1L; //总页数 + this.total = 0L; //总记录数 + this.size = 10L; //每页记录数 + this.current = current; //当前页号 + this.list = Collections.emptyList(); //当前页的数据 + } + + public long getPages() { + return pages; + } + + public MyPagerVo setPages(long pages) { + this.pages = pages; + return this; + } + + public long getTotal() { + return total; + } + + public MyPagerVo setTotal(long total) { + this.total = total; + return this; + } + + public long getSize() { + return size; + } + + public MyPagerVo setSize(long size) { + this.size = size; + return this; + } + + public long getCurrent() { + return current; + } + + public MyPagerVo setCurrent(long current) { + this.current = current; + return this; + } + + public List getList() { + return list; + } + + public MyPagerVo setList(List list) { + this.list = list; + return this; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public Map getMap() { + return map; + } + + public void setMap(Map map) { + this.map = map; + } + + // @ApiModelProperty("每页记录数,size的别名") +// public long get_p_size() { +// return size; +// } +// +// @ApiModelProperty("当前页号,current的别名") +// public long get_p_no() { +// return current; +// } +// +// @ApiModelProperty("总记录数,total的别名") +// public long get_p_total() { +// return total; +// } + +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBill.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBill.java index 9898140b85..6b96d676dc 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBill.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBill.java @@ -46,4 +46,7 @@ public class WmsReceiptBill extends BaseEntity { private String deptSid; @ApiModelProperty("申请部门") private String deptName; + @ApiModelProperty("标签打印状态0打印未完成,1打印已完成") + private Integer printState; + } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetail.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetail.java index e0cb1afa64..3675a428dc 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetail.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetail.java @@ -55,6 +55,8 @@ public class WmsReceiptBillDetail extends BaseEntity { private BigDecimal amount; @ApiModelProperty("单位成本(采购价)") private BigDecimal cost; + @ApiModelProperty("标签打印状态0打印未完成,1打印已完成") + private Integer printState; // @ApiModelProperty("仓库sid") // private String warehouseSid; // @ApiModelProperty("仓库名称")