diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 5f39bc0..0000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/oms-biz.iml -/gateway/gateway.iml -/oms/oms.iml diff --git a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/BaseGoodsSkuRest.java b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/BaseGoodsSkuRest.java new file mode 100644 index 0000000..64d76e8 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/BaseGoodsSkuRest.java @@ -0,0 +1,33 @@ +package com.yxt.oms.apiadmin.aggregation; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.oms.biz.func.basegoodssku.BaseGoodsSkuService; +import com.yxt.oms.biz.func.basegoodssku.BaseGoodsSkuVo; +import com.yxt.oms.utils.OrgPathQuery; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/4/12 11:20 + */ +@RestController() +@RequestMapping("/apiadmin/basegoodssku") +public class BaseGoodsSkuRest { + + + @Autowired + BaseGoodsSkuService baseGoodsSkuService; + + @ApiOperation("查询组织下所有商品") + @PostMapping("/listAllByOrg") + public ResultBean> listAllByOrg(@RequestBody OrgPathQuery query) { + return baseGoodsSkuService.listAllByOrg(query); + } +} diff --git a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmCustomerFileRest.java b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmCustomerFileRest.java new file mode 100644 index 0000000..736f8b5 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmCustomerFileRest.java @@ -0,0 +1,93 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.oms.apiadmin.aggregation; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.oms.biz.func.crmcustomerfile.CrmCustomerFileQuery; +import com.yxt.oms.biz.func.crmcustomerfile.CrmCustomerFileService; +import com.yxt.oms.biz.func.crmcustomerfile.CrmCustomerFileVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * Project: anrui-crm(客户)
+ * File: CrmCustomerFileFeignFallback.java
+ * Class: com.yxt.anrui.crm.biz.crmcustomerfile.CrmCustomerFileRest
+ * Description: 客户资料初始化表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-02-26 14:10:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "客户资料初始化表") +@RestController("com.yxt.anrui.crm.biz.crmcustomerfile.CrmCustomerFileRest") +@RequestMapping("v1/crmcustomerfile") +public class CrmCustomerFileRest { + + @Autowired + private CrmCustomerFileService crmCustomerFileService; + + /** + * 客户资料初始化分页查询列表 + * + * @param pq + * @return + */ + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + return crmCustomerFileService.listPageVo(pq); + } +// +// +// public ResultBean saveCustomerFile(String staffName, String staffSid, String sid, List crmFileDtos) { +// return crmCustomerFileService.saveCustomerFile(staffName, staffSid, sid, crmFileDtos); +// } +// +// +// public ResultBean fetchFileListBySid(String sid) { +// return crmCustomerFileService.fetchFileListBySid(sid); +// } +// +// +// public ResultBean> selectIdImageByCustomerSid(String customerSid) { +// ResultBean rb = ResultBean.fireFail(); +// List crmCustomerFiles = crmCustomerFileService.selectIdImageByCustomerSid(customerSid); +// return rb.success().setData(crmCustomerFiles); +// } + + +} diff --git a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmCustomerTempRest.java b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmCustomerTempRest.java new file mode 100644 index 0000000..dd99285 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmCustomerTempRest.java @@ -0,0 +1,123 @@ +package com.yxt.oms.apiadmin.aggregation; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; + +import com.yxt.oms.biz.func.crmcustomer.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmCustomerTempFeignFallback.java
+ * Class: com.yxt.anrui.crm.biz.crmcustomertemp.CrmCustomerTempRest
+ * Description: 潜在客户信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-12 11:21:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "潜在客户信息") +@RestController +@RequestMapping("v1/crmcustomertemp") +public class CrmCustomerTempRest { + + @Autowired + private CrmCustomerTempService crmCustomerTempService; + + @ApiOperation("销售订单选择客户") + @PostMapping("/chooseCustomerList") + public ResultBean> chooseCustomerList(@RequestBody PagerQuery pq) { + return crmCustomerTempService.chooseCustomerList(pq); + } + + + /** + * 潜在客户管理的分页查询 + * + * @param pq + * @return + */ + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + return crmCustomerTempService.listPageVo(pq); + } + + + /** + * 潜在客户新增保存 + * + * @param dto 数据传输对象 + * @return + */ + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@Valid @RequestBody CrmCustomerTempDto dto) { + return crmCustomerTempService.saveCrmCustomer(dto); + } + + @ApiOperation("删除记录") + @DeleteMapping("/del") + public ResultBean del(@RequestBody String[] sid) { + return crmCustomerTempService.del(sid); + } + + + /** + * 潜在客户修改保存 + * + * @param dto 数据传输对象 + * @param sid 潜在客户sid + * @return + */ + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody CrmCustomerTempUpdateDto dto, @PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + String weixin = dto.getWeixin(); + if (StringUtils.isNotBlank(weixin)) { + if (!weixin.matches("^[a-zA-Z]{1}[-_a-zA-Z0-9]{5,19}$") && !weixin.matches("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$")) { + return rb.setMsg("微信号格式不正确"); + } + } + String email = dto.getE_mail(); + if (StringUtils.isNotBlank(email)) { + if (!email.matches("^[0-9A-Za-z][\\.-_0-9A-Za-z]*@[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)+$")) { + return rb.setMsg("邮箱格式不正确"); + } + } + ResultBean resultBean = crmCustomerTempService.updateCrmCustomer(dto, sid); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setMsg(resultBean.getMsg()); + } + + + + @ApiOperation("获取一条记录") + @GetMapping("/fetchSid/{sid}") + public ResultBean fetchSid(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + CrmCustomerTemp customerTemp = crmCustomerTempService.fetchBySid(sid); + if (customerTemp == null) { + return rb.setMsg("该客户不存在"); + } + CrmCustomerTempVo vo = crmCustomerTempService.fetchAllBySid(sid); + return rb.success().setData(vo); + } + + + +} diff --git a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmFileRest.java b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmFileRest.java new file mode 100644 index 0000000..375a3a0 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmFileRest.java @@ -0,0 +1,35 @@ +package com.yxt.oms.apiadmin.aggregation; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.oms.biz.func.crmfile.CommonAppendixSelectQuery; +import com.yxt.oms.biz.func.crmfile.CommonAppendixVo; +import com.yxt.oms.biz.func.crmfile.CrmFileService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/7/29 10:08 + */ +@Api(tags = "客户跟进记录") +@RestController +@RequestMapping("v1/crmfile") +public class CrmFileRest { + + @Autowired + private CrmFileService crmFileService; + + @ApiOperation("Pc端查询附件") + @PostMapping("/getPcAppendix") + public ResultBean> getPcAppendix(@RequestBody CommonAppendixSelectQuery query) { + return crmFileService.getPcAppendix(query); + } +} diff --git a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmVisitRest.java b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmVisitRest.java new file mode 100644 index 0000000..d2a40d1 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmVisitRest.java @@ -0,0 +1,156 @@ +package com.yxt.oms.apiadmin.aggregation; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.common.base.utils.DateUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.oms.biz.func.crmfile.CommonAttachTypeEnum; +import com.yxt.oms.biz.func.crmfile.PcCommonAppendixDto; +import com.yxt.oms.biz.func.crmvisit.*; +import com.yxt.oms.feign.customer.crmfile.CrmFileFeign; +import com.yxt.oms.feign.customer.crmvisit.CrmVisitFeign; +import com.yxt.oms.feign.customer.customertemp.CrmCustomerTempFeign; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmVisitFeignFallback.java
+ * Class: com.yxt.anrui.crm.biz.crmvisit.CrmVisitRest
+ * Description: 客户跟进记录.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-28 09:57:14
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "客户跟进记录") +@RestController +@RequestMapping("v1/crmvisit") +public class CrmVisitRest { + + @Autowired + private CrmVisitService crmVisitService; + @Autowired + private CrmCustomerTempFeign crmCustomerTempFeign; + @Autowired + private CrmFileFeign crmFileFeign; + + + /** + * pc端某客户的跟进记录分页列表 + * + * @param pagerQuery + * @return + */ + @ApiOperation("跟进记录分页列表") + @PostMapping("/pagerList") + public ResultBean> pagerList(@RequestBody PagerQuery pagerQuery) { + return crmVisitService.pagerList(pagerQuery); + } + + @ApiOperation("Pc查看详情及修改回显") + @GetMapping("/fetchSid/{sid}") + @ResponseBody + public ResultBean fetchSid(@PathVariable("sid") String sid){ + return crmVisitService.fetchSid(sid); + } + + @ApiOperation("Pc新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody CrmVisitDto dto){ + ResultBean rb = ResultBean.fireFail(); + String customerSid = dto.getCustomerSid(); + int count = crmCustomerTempFeign.selBySid(customerSid); + if (count > 0) { + CrmVisit entity = new CrmVisit(); + BeanUtil.copyProperties(dto, entity); + boolean IsSave = crmVisitService.save(entity); + if (!IsSave) { + return rb.fail().setMsg("添加失败"); + } + List pcCrmvisitAppendixDtos = dto.getList(); + for (PcCrmVisitAppendixDto pcCrmvisitAppendixDto : pcCrmvisitAppendixDtos) { + PcCommonAppendixDto pcCommonAppendixDto = new PcCommonAppendixDto(); + String sid = entity.getSid(); + String staffSid = dto.getStaffSid(); + BeanUtil.copyProperties(pcCrmvisitAppendixDto, pcCommonAppendixDto); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String createTime = simpleDateFormat.format(new Date()); + if (dto.getList().size() != 0) { + crmFileFeign.saveOrUpdatePcAppendix(pcCommonAppendixDto, sid, staffSid, CommonAttachTypeEnum.WITNESS.getAttachType()); + } + } + String isOnRemindkey = dto.getIsOnRemindkey(); + if (StringUtils.isNotBlank(isOnRemindkey)) { // 0 未开启 1 开启 + String remindDay = "未设置提醒"; + if (isOnRemindkey.equals("0")) { + //没有开启默认未设置 + dto.setRemind_day(remindDay); + dto.setRemind_remark(""); + } + if (isOnRemindkey.equals("1")) { + //开启默认判断时间是否是10:00之前 + String date = DateUtils.dateConvertStr(new Date(), "yyyy-MM-dd") + " 10:00:00"; + if (DateUtils.compTime2(date, dto.getRemind_day())) { + //是的话设置开启时间 + dto.setRemind_day(dto.getRemind_day()); + } else { + dto.setRemind_day(remindDay); + } + } + } + //更新客户信息的提醒日期、提醒备注、是否提醒。 + String remind_day = dto.getRemind_day(); + String remind_remark = dto.getRemind_remark(); + String isOnRemind = dto.getIsOnRemind(); + String follow_state = dto.getFollow_state(); + crmCustomerTempFeign.updateRemindAndByCustomerSid(customerSid, remind_day, remind_remark, isOnRemind, isOnRemindkey, follow_state); + return rb.success().setMsg("添加成功"); + } + return rb.fail().setMsg("保存失败,该客户不存在"); + } + + @ApiOperation("Pc修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody CrmVisitDto dto, @PathVariable("sid") String sid){ + + ResultBean rb = ResultBean.fireFail(); + boolean b = crmVisitService.updateBySid(dto, sid); + if (!b) { + return rb.setMsg("修改失败"); + } + ResultBean delFiles = crmFileFeign.deleteFiles(sid,"0004"); + if (delFiles != null) { + List pcCrmvisitAppendixDtos = dto.getList(); + for (PcCrmVisitAppendixDto pcCrmvisitAppendixDto : pcCrmvisitAppendixDtos) { + PcCommonAppendixDto pcCommonAppendixDto = new PcCommonAppendixDto(); + String staffSid = dto.getStaffSid(); + BeanUtil.copyProperties(pcCrmvisitAppendixDto, pcCommonAppendixDto); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String createTime = simpleDateFormat.format(new Date()); + if (dto.getList().size() != 0) { + ResultBean resultBean = crmFileFeign.saveOrUpdatePcAppendix(pcCommonAppendixDto, sid, staffSid, CommonAttachTypeEnum.WITNESS.getAttachType()); + } + } + return rb.success().setMsg("修改成功"); + } + return rb.fail().setMsg("修改失败"); + } + + @ApiOperation("删除记录") + @DeleteMapping("/del") + public ResultBean del(@RequestBody String[] ids){ + return crmVisitService.delBySids(ids); + } +} diff --git a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/PurchaseBillRest.java b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/PurchaseBillRest.java index 25e1500..3c35b53 100644 --- a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/PurchaseBillRest.java +++ b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/PurchaseBillRest.java @@ -48,6 +48,12 @@ public class PurchaseBillRest { return purchaseBillService.listPageVo(pq); } + @ApiOperation("采购订单审核管理") + @PostMapping("/exlistPage") + public ResultBean> exlistPage(@RequestBody PagerQuery pq){ + return purchaseBillService.exlistPage(pq); + } + @ApiOperation("新增或修改") @PostMapping("/save") public ResultBean save(@RequestBody PurchaseBillDto dto){ @@ -71,4 +77,16 @@ public class PurchaseBillRest { public ResultBean> purGoodsListPage(@RequestBody PagerQuery pq) { return purchaseBillService.purGoodsListPage(pq); } + + @ApiOperation("采购单提交") + @PostMapping("/submit") + public ResultBean submit(@RequestBody String[] sids){ + return purchaseBillService.submit(sids); + } + + @ApiOperation("采购单审核") + @PostMapping("/examine") + public ResultBean examine(@RequestParam("sid") String sid,@RequestParam("state") String state,@RequestParam("remarks") String remarks){ + return purchaseBillService.examine(sid,state,remarks); + } } diff --git a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/PurchaseFlowNodeRest.java b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/PurchaseFlowNodeRest.java new file mode 100644 index 0000000..17296a9 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/PurchaseFlowNodeRest.java @@ -0,0 +1,66 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.oms.apiadmin.aggregation; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.oms.biz.func.purchaseflownode.PurchaseFlowNodeQuery; +import com.yxt.oms.biz.func.purchaseflownode.PurchaseFlowNodeService; +import com.yxt.oms.biz.func.purchaseflownode.PurchaseFlowNodeVo; +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: ss-purchase(采购单)
+ * File: PurchaseFlowNodeFeignFallback.java
+ * Class: com.yxt.purchase.biz.purchaseflownode.PurchaseFlowNodeRest
+ * Description: 工单-环节.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-23 10:44:59
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "工单-环节") +@RestController +@RequestMapping("/apiadmin/purchaseflownode") +public class PurchaseFlowNodeRest { + + @Autowired + private PurchaseFlowNodeService purchaseFlowNodeService; + + @PostMapping("/listPage") + public ResultBean> listPage(@RequestParam("sid") String sid){ + return purchaseFlowNodeService.listPageVo(sid); + } +} diff --git a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SmsSalesBillRest.java b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SmsSalesBillRest.java index 670e1ed..1f95b6d 100644 --- a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SmsSalesBillRest.java +++ b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SmsSalesBillRest.java @@ -53,33 +53,73 @@ import org.springframework.web.bind.annotation.*; @RequestMapping("v1/smssalesbill") public class SmsSalesBillRest { - @Autowired - private SmsSalesBillService smsSalesBillService; + @Autowired + private SmsSalesBillService smsSalesBillService; - @ApiOperation("根据条件分页查询数据的列表") - @PostMapping("/listPage") - public ResultBean> listPage(@RequestBody PagerQuery pq){ - return smsSalesBillService.listPage(pq); - } + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + return smsSalesBillService.listPage(pq); + } + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody SmsSalesBillDto dto) { + return smsSalesBillService.saveOrUpdateDto(dto); + } - @ApiOperation("新增或修改") - @PostMapping("/save") - public ResultBean save(@RequestBody SmsSalesBillDto dto){ - return smsSalesBillService.saveOrUpdateDto(dto); - } + @ApiOperation("提交") + @PostMapping("/submit") + public ResultBean submit(@RequestBody SmsSalesBillDto dto) { + return smsSalesBillService.submit(dto); + } - - @ApiOperation("根据sid批量删除") + @ApiOperation("根据sid批量删除") @DeleteMapping("/delBySids") - public ResultBean delBySids(@RequestBody String[] sids){ - return smsSalesBillService.deleteBySids(sids); - } + public ResultBean delBySids(@RequestBody String[] sids) { + return smsSalesBillService.deleteBySids(sids); + } - @ApiOperation("根据SID获取一条记录") + @ApiOperation("根据SID获取一条记录") @GetMapping("/fetchDetailsBySid/{sid}") - public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){ - return smsSalesBillService.fetchDetailsVoBySid(sid); - } + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid) { + return smsSalesBillService.fetchDetailsVoBySid(sid); + } + + @ApiOperation("销售订单审核列表") + @PostMapping("/reviewListPage") + public ResultBean> reviewListPage(@RequestBody PagerQuery pq) { + return smsSalesBillService.reviewListPage(pq); + } + + @ApiOperation("销售订单审核详情") + @GetMapping("/reviewDetails") + public ResultBean reviewDetails(@RequestParam("sid") String sid) { + return smsSalesBillService.reviewDetails(sid); + } + + @ApiOperation("收货地址保存") + @PostMapping("/saveShipper") + public ResultBean saveShipper(@RequestBody ReviewDetailsVo dto) { + return smsSalesBillService.saveShipper(dto); + } + + @ApiOperation("发票信息保存") + @PostMapping("/saveInvoice") + public ResultBean saveInvoice(@RequestBody ReviewDetailsVo dto) { + return smsSalesBillService.saveInvoice(dto); + } + + @ApiOperation("分页列表单条保存") + @PostMapping("/saveOneListData") + public ResultBean saveOneListData(@RequestBody OrderReviewVo dto) { + return smsSalesBillService.saveOneListData(dto); + } + + @ApiOperation("审核确认") + @PostMapping("/reviewConfirm") + public ResultBean reviewConfirm(@RequestBody ReviewConfirmDto dto) { + return smsSalesBillService.reviewConfirm(dto); + } } diff --git a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SupplierInfoRest.java b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SupplierInfoRest.java new file mode 100644 index 0000000..a6c2b5e --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SupplierInfoRest.java @@ -0,0 +1,51 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.oms.apiadmin.aggregation; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.oms.biz.func.supplierinfo.SupplierInfoChoice; +import com.yxt.oms.biz.func.supplierinfo.SupplierInfoService; +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; + +@Api(tags = "供应商信息") +@RestController +@RequestMapping("/apiadmin/supplierinfo") +public class SupplierInfoRest { + + @Autowired + private SupplierInfoService baseSupplierInfoService; + + @ApiOperation("选择供应商") + @GetMapping("/choiceSupplierInfo") + public ResultBean> choiceSupplierInfo(@RequestParam("createOrgSid") String createOrgSid){ + return baseSupplierInfoService.choiceSupplierInfo(createOrgSid); + } +} diff --git a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SysStaffOrgRest.java b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SysStaffOrgRest.java index 2c9fc9c..f15ac0d 100644 --- a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SysStaffOrgRest.java +++ b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SysStaffOrgRest.java @@ -26,7 +26,7 @@ public class SysStaffOrgRest { @GetMapping("/selAllByOrgSidPath") @ResponseBody @ApiOperation("根据组织全路径查询当前部门下的所有员工") - public ResultBean> selAllByOrgSidPath(String orgSidPath) { + public ResultBean> selAllByOrgSidPath(@RequestParam("orgSidPath") String orgSidPath) { return sysStaffOrgService.selAllByOrgSidPath(orgSidPath); } } diff --git a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/WarehouseInfoRest.java b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/WarehouseInfoRest.java index 14719c2..e714975 100644 --- a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/WarehouseInfoRest.java +++ b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/WarehouseInfoRest.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.oms.biz.func.warehouseinfo.SmsOrderHouseInfo; +import com.yxt.oms.biz.func.warehouseinfo.WarehouseInfo; import com.yxt.oms.biz.func.warehouseinfo.WarehouseInfoService; +import com.yxt.oms.utils.OrgPathQuery; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -30,4 +32,10 @@ public class WarehouseInfoRest { public ResultBean> getWareHouse(@RequestParam("createOrgSid") String createOrgSid) { return wmsWarehouseService.getWareHouse(createOrgSid); } + + @ApiOperation("查询所有的仓库") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody OrgPathQuery query) { + return wmsWarehouseService.listAll(query); + } } diff --git a/oms/src/main/java/com/yxt/oms/biz/func/basegoodssku/BaseGoodsSkuService.java b/oms/src/main/java/com/yxt/oms/biz/func/basegoodssku/BaseGoodsSkuService.java new file mode 100644 index 0000000..f2a7e67 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/basegoodssku/BaseGoodsSkuService.java @@ -0,0 +1,24 @@ +package com.yxt.oms.biz.func.basegoodssku; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.oms.feign.goods.basegoodssku.BaseGoodsSkuFeign; +import com.yxt.oms.utils.OrgPathQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Service +public class BaseGoodsSkuService{ + + @Autowired + BaseGoodsSkuFeign baseGoodsSkuFeign; + + public ResultBean> listAllByOrg(OrgPathQuery query) { + return baseGoodsSkuFeign.listAllByOrg(query); + } +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/basegoodssku/BaseGoodsSkuVo.java b/oms/src/main/java/com/yxt/oms/biz/func/basegoodssku/BaseGoodsSkuVo.java new file mode 100644 index 0000000..7fb2c59 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/basegoodssku/BaseGoodsSkuVo.java @@ -0,0 +1,38 @@ +package com.yxt.oms.biz.func.basegoodssku; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import com.yxt.oms.biz.func.basegoodsskuextend.BaseGoodsSkuExtendVo; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseGoodsSkuVo implements Vo { + private String id; + private String sid; + private String lockVersion; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date modifyTime; + private String remarks; + private String isEnable; + private String state; + private String isDelete; + private String goodsSkuCode;//商品Sku代码 + private String title;//商品标题 + private String goodsSpuSid;//商品基础信息Sid + private String externalCode;//外部编码 + private String indexes;//特有规格属性在spu表中special_spec字段对应每个参数值数组下标的组合,如0_0_0,1_0_0,相当于SKU这条记录的编码。 + @TableField(value = "own_spec") + private String ownSpec;//sku的特有规格参数键值对,json格式,反序列化时请使用linkedHashMap,保证有序 + private String goodsName; + private BaseGoodsSkuExtendVo baseGoodsSkuExtend; + +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/basegoodsskuextend/BaseGoodsSkuExtendVo.java b/oms/src/main/java/com/yxt/oms/biz/func/basegoodsskuextend/BaseGoodsSkuExtendVo.java new file mode 100644 index 0000000..619b73a --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/basegoodsskuextend/BaseGoodsSkuExtendVo.java @@ -0,0 +1,53 @@ +package com.yxt.oms.biz.func.basegoodsskuextend; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseGoodsSkuExtendVo implements Vo { + private String id; + private String sid; + private String lockVersion; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date modifyTime; + private String remarks; + private String isEnable; + private String state; + private String isDelete; + private String goodsSkuSid;//商品Skusid + private String finalPurchasePrice;//最后采购价 + private String safetyStockDays;//安全库存天数 + private String isOriginalFactory;//是否原厂 + private String isInventoryAlert;//是否库存警戒 + @TableField(value = "InventoryAlertUpperLimit") + private String inventoryAlertUpperLimit;//库存警戒上线 + @TableField(value = "InventoryAlertLowerLimit") + private String inventoryAlertLowerLimit;//库存警戒下线 + private String costPrice;//成本价 + private String tagPrice;//吊牌价 + private String salesPrice;//销售单价 + private String standardPurchasePrice;//标准进价 + private String agencyPrice;//代理价 + private String discount;//折扣 + private String minimumSalesPrice;//最低零售价 + private String isLockingSalesPrice;//是否锁定销售价 + private String isIntegralExchange;//是否可以积分兑换 + private String integralAmount;//积分数量 + private String sortNo;//排序 + private String picUrl;//商品的图片,多个图片以‘,’分割 +// private String [] Urls={};//图片数组 + private List urls;//图片数组 + private String title;//sku标题 + +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/basegoodsskuextend/UrlsVo.java b/oms/src/main/java/com/yxt/oms/biz/func/basegoodsskuextend/UrlsVo.java new file mode 100644 index 0000000..2e54aa0 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/basegoodsskuextend/UrlsVo.java @@ -0,0 +1,12 @@ +package com.yxt.oms.biz.func.basegoodsskuextend; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/3/22 10:20 + */ +@Data +public class UrlsVo { + private String url; +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTemp.java b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTemp.java new file mode 100644 index 0000000..922a954 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTemp.java @@ -0,0 +1,163 @@ +package com.yxt.oms.biz.func.crmcustomer; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmCustomerTemp.java
+ * Class: com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp
+ * Description: 潜在客户信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-12 11:21:16
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "潜在客户信息", description = "潜在客户信息") +@TableName("crm_customer") +@Data +public class CrmCustomerTemp extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("客户编号(部门编码+客户类型(1位,0个人,1企业)+部门内部流水号(6位))") + private String customerNo; + + @ApiModelProperty("客户类型(自然人/法人)") + private String customerType; + + @ApiModelProperty("客户类型key") + private String customerTypeKey; + + @ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)") + private String customerClass; + + @ApiModelProperty("客户分类key") + private String customerClassKey; + + @ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)") + private String source; + + @ApiModelProperty("客户来源key") + private String sourceKey; + + @ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)") + private String level; + + @ApiModelProperty("客户级别key") + private String levelKey; + + @ApiModelProperty("客户名称") + private String name; + + @ApiModelProperty("证件类型key") + private String certificateTypeKey; + + @ApiModelProperty("证件类型(个人为身份证/企业为营业执照)") + private String certificateType; + + @ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)") + private String IDNumber; + + @ApiModelProperty("证件有效期") + private String endDate; + + @ApiModelProperty("行政区划代码(省)") + private String address_province; + + @ApiModelProperty("行政区划代码(市)") + private String address_city; + + @ApiModelProperty("行政区划代码(县)") + private String address_county; + + @ApiModelProperty("省") + private String province; + + @ApiModelProperty("市") + private String city; + + @ApiModelProperty("县") + private String county; + + @ApiModelProperty("详细地址") + private String address; + + @ApiModelProperty("邮编") + private String zipCode; + + @ApiModelProperty("电子邮箱") + private String e_mail; + + @ApiModelProperty("联系人") + private String contacts; + + @ApiModelProperty("联系电话") + private String mobile; + + @ApiModelProperty("紧急联系电话") + private String emergencyContact; + + @ApiModelProperty("紧急联系电话") + private String emergencyMobile; + + @ApiModelProperty("微信号码") + private String weixin; + + @ApiModelProperty("业务人员sid") + private String staffSid; + + @ApiModelProperty("创建组织sid") + private String createOrgSid; + + @ApiModelProperty("创建部门sid") + private String useOrgSid; + + @ApiModelProperty("性别") + private String sex; + + @ApiModelProperty("性别key") + private String sexKey; + + @ApiModelProperty("生日") + private String birthday; + + @ApiModelProperty("所在公司名称") + private String companyName; + + @ApiModelProperty("跟进状态key") + private String follow_state_key; + + @ApiModelProperty("跟进状态") + private String follow_state; + + @ApiModelProperty("是否开启提醒key(1开启,0不开启)") + private String isOnRemindkey; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemind; + + @ApiModelProperty("提醒日期") + private String remind_day; + + @ApiModelProperty("提醒备注") + private String remind_remark; + + @ApiModelProperty("客户头像") + private String customerPhoto; + + @ApiModelProperty("见面方式key") + private String visitWayKey; + + @ApiModelProperty("见面方式(到店/电话/拜访)") + private String visitWay; + + @ApiModelProperty("证件地址") + private String certificateAddress; +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempDto.java b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempDto.java new file mode 100644 index 0000000..edc609e --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempDto.java @@ -0,0 +1,148 @@ +package com.yxt.oms.biz.func.crmcustomer; + + + +import com.yxt.common.core.dto.Dto; +import com.yxt.oms.biz.func.crmvisit.PcCrmVisitAppendixDto; +import com.yxt.oms.utils.FileQueryUrl; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.ArrayList; +import java.util.List; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmCustomerTempDto.java
+ * Class: com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempDto
+ * Description: 潜在客户信息 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-12 11:21:16
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "潜在客户信息 数据传输对象", description = "潜在客户信息 数据传输对象") +@Data +public class CrmCustomerTempDto implements Dto { + + private static final long serialVersionUID = 793474187074718535L; + + @ApiModelProperty(value = "当前登录用户的sid") + private String userSid; + + @ApiModelProperty(value = "客户类型(1个人/2企业)", required = true) + @NotBlank(message = "客户类型为必选项") + private String customerType; + + @ApiModelProperty(value = "客户类型key", required = true) + @NotBlank(message = "客户类型为必选项") + private String customerTypeKey; + + @ApiModelProperty(value = "见面方式key", required = true) + @NotBlank(message = "见面方式为必选项") + private String visitWayKey; + + @ApiModelProperty(value = "见面方式(到店/电话/拜访)", required = true) + @NotBlank(message = "见面方式为必选项") + private String visitWay; + + @ApiModelProperty(value = "客户名称", required = true) + @NotBlank(message = "客户名称为必填项") + private String name; + + @ApiModelProperty("联系电话") + @NotBlank(message = "联系电话为必填项") + private String mobile; + + @ApiModelProperty("微信号码") + private String weixin; + + @ApiModelProperty("公司名称:个人客户时显示") + private String companyName; + + @ApiModelProperty("行政区划代码(省)") + private String address_province; + + @ApiModelProperty("行政区划代码(市)") + private String address_city; + @ApiModelProperty("行政区划代码(县)") + private String address_county; + @ApiModelProperty("客户地址:省") + private String province; + @ApiModelProperty("客户地址:市") + private String city; + @ApiModelProperty("客户地址:县") + private String county; + @ApiModelProperty("客户地址:详细地址") + private String address; + + @ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)") + private String level; + @ApiModelProperty("客户级别key") + private String levelKey; + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemindkey; + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemind; + @ApiModelProperty("提醒日期") + private String remind_day; + @ApiModelProperty("提醒备注") + private String remind_remark; + //更多信息 + @ApiModelProperty("客户生日:个人客户时显示") + private String birthday; + @ApiModelProperty("性别:个人客户时显示") + private String sex; + @ApiModelProperty("性别key:个人客户时") + private String sexKey; + @ApiModelProperty("证件类型key") + private String certificateTypeKey; + @ApiModelProperty("证件类型(个人为身份证/企业为营业执照)") + private String certificateType; + @ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)") + private String IDNumber; + @ApiModelProperty("证件有效期") + private String endDate; + @ApiModelProperty("电子邮箱") + private String e_mail; + @ApiModelProperty(value = "联系人") + private String contacts; + @ApiModelProperty("紧急联系人") + private String emergencyContact; + + @ApiModelProperty("紧急联系电话") + private String emergencyMobile; + + @ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)") + private String source; + + @ApiModelProperty("客户来源key") + private String sourceKey; + @ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)") + private String customerClass; + @ApiModelProperty("客户分类key") + private String customerClassKey; + @ApiModelProperty(value = "备注") + private String remarks; + @ApiModelProperty("业务人员sid") + private String staffSid; + + //见证材料集合 + @ApiModelProperty(value = "见证材料的集合,编辑保存时无此字段") + private List crmVisitAppendixDtoList = new ArrayList<>(); + + //客户档案 + @ApiModelProperty(value = "客户档案") + private List customerFiles = new ArrayList<>(); + + private String orgPath; + private String useOrgSid; + private String customerOrgSid; + private String customerOrgName; + +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempQuery.java b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempQuery.java new file mode 100644 index 0000000..a846628 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempQuery.java @@ -0,0 +1,67 @@ +package com.yxt.oms.biz.func.crmcustomer; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmCustomerTempQuery.java
+ * Class: com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempQuery
+ * Description: 潜在客户信息 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-12 11:21:16
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "潜在客户信息 查询条件", description = "潜在客户信息 查询条件") +@Data +public class CrmCustomerTempQuery implements Query { + + @ApiModelProperty(value = "组织全路径") + private String orgSidPath; + + @ApiModelProperty("客户类型key(自然人/法人)") + private String customerTypeKey; + + @ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)") + private String levelKey; + + @ApiModelProperty("客户名称") + private String name; + + @ApiModelProperty("联系电话") + private String mobile; + + @ApiModelProperty("提醒开始日期") + private String remindStartDay; + + @ApiModelProperty("提醒结束日期") + private String remindEndDay; + + @ApiModelProperty("业务员sid") + private String staffSid; + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("客户sid") + private List customerSidList; + + @ApiModelProperty("创建开始日期") + private String createStartDate; + + @ApiModelProperty("创建结束日期") + private String createEndDate; + + @ApiModelProperty("销售专员") + private String staffName; + +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempService.java b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempService.java new file mode 100644 index 0000000..fb81c9d --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempService.java @@ -0,0 +1,322 @@ +package com.yxt.oms.biz.func.crmcustomer; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.utils.HanZiConverterPinYin; +import com.yxt.common.base.utils.HttpStatusEnum; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.oms.biz.func.crmfile.CommonAppendixSelectQuery; +import com.yxt.oms.biz.func.crmfile.CommonAppendixVo; +import com.yxt.oms.biz.func.crmfile.CommonAttachTypeEnum; +import com.yxt.oms.biz.func.crmfile.PcCommonAppendixDto; +import com.yxt.oms.biz.func.crmvisit.CrmVisitService; +import com.yxt.oms.biz.func.crmvisit.PcCrmVisitAppendixDto; +import com.yxt.oms.biz.func.sysorganization.SysOrganizationVo; +import com.yxt.oms.biz.func.sysstafforg.SysStaffOrg; +import com.yxt.oms.config.DictCommonType; +import com.yxt.oms.feign.customer.crmfile.CrmFileFeign; +import com.yxt.oms.feign.customer.customertemp.CrmCustomerTempFeign; +import com.yxt.oms.feign.portal.dictcommon.DictCommonFeign; +import com.yxt.oms.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.oms.feign.portal.sysstafforg.SysStaffOrgFeign; +import com.yxt.oms.feign.portal.sysuser.SysUserFeign; +import com.yxt.oms.feign.portal.sysuser.SysUserVo; +import com.yxt.oms.utils.FileQueryUrl; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmCustomerTempService.java
+ * Class: com.yxt.anrui.crm.biz.crmcustomertemp.CrmCustomerTempService
+ * Description: 潜在客户信息 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-12 11:21:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class CrmCustomerTempService { + public static final Logger logger = LoggerFactory.getLogger(CrmCustomerTempService.class); + + @Autowired + private CrmFileFeign crmFileFeign; + @Autowired + private CrmVisitService crmVisitService; + @Autowired + private FileUploadComponent fileUploadComponent; + @Resource + private SysUserFeign sysUserFeign; + @Autowired + private CrmCustomerTempFeign crmCustomerTempFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Resource + private DictCommonFeign dictCommonFeign; + @Resource + private SysOrganizationFeign sysOrganizationFeign; + + public ResultBean> listPageVo(PagerQuery pq) { + if (StringUtils.isNotBlank(pq.getParams().getUserSid())) { + String staffSid = sysUserFeign.selectBySid(pq.getParams().getUserSid()).getData().getStaffSid(); + pq.getParams().setStaffSid(staffSid); + } + return crmCustomerTempFeign.listPage(pq); + } + + + public ResultBean> chooseCustomerList(PagerQuery pq) { + ResultBean> pagerVoResultBean = crmCustomerTempFeign.chooseCustomerList(pq); + return pagerVoResultBean; + } + + /** + * pc端潜在客户新增保存 + * + * @param dto 数据传输对象 + * state值:211:为当前用户的客户 + * @return + */ + public ResultBean saveCrmCustomer(CrmCustomerTempDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = ""; + //手机号 + String mobile = dto.getMobile(); + //微信号 + String weixin = dto.getWeixin(); + if (StringUtils.isNotBlank(weixin)) { + if (!weixin.matches("^[a-zA-Z]{1}[-_a-zA-Z0-9]{5,19}$") && !weixin.matches("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$")) { + return rb.setMsg("微信号格式不正确"); + } + } + String email = dto.getE_mail(); + if (StringUtils.isNotBlank(email)) { + if (!email.matches("^[0-9A-Za-z][\\.-_0-9A-Za-z]*@[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)+$")) { + return rb.setMsg("邮箱格式不正确"); + } + } + String emergencyMobile = dto.getEmergencyMobile(); + if (StringUtils.isNotBlank(emergencyMobile)) { + if (!emergencyMobile.matches("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$")) { + return rb.setMsg("紧急联系电话格式不正确"); + } + } + //根据用户sid获取业务员信息 + SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData(); + if (sysUserVo == null) { + return rb.setMsg("该用户不存在"); + } + String staffSid = sysUserVo.getStaffSid(); + String name = dto.getName(); + //生成客户编码:分公司简称+部门编码+手机号+姓名首字母大写拼写 + String customerNo = getPrefix(staffSid, name, mobile); + //查询该客户编码是否存在 + CrmCustomerTemp crmCustomerTemp = crmCustomerTempFeign.selectByCustomerNo(customerNo).getData(); + if (crmCustomerTemp != null) {//存在 + //查询是否是当前用户客户 + if (!dto.getUserSid().equals(crmCustomerTemp.getCreateBySid())) { + String staffName = ""; + SysUserVo sysCrmVo = sysUserFeign.fetchBySid(crmCustomerTemp.getCreateBySid()).getData(); + if (sysCrmVo != null) { + staffName = sysCrmVo.getName(); + return rb.setCode(HttpStatusEnum.CRM_ERROR_NOTBELONG.getCode()).setMsg("为" + staffName + "客户"); + } + } else { + // 返回潜在客户sid,跳转维护信息页面 + return rb.setCode(HttpStatusEnum.CRM_ERROR_EXIST.getCode()).setMsg(HttpStatusEnum.CRM_ERROR_EXIST.getMsg()).setData(crmCustomerTemp.getSid()); + } + + } else {//不存在 + // 新增 + CrmCustomerTemp customerTemp = saveCrmCustomerTemp(dto, sysUserVo); + sid = customerTemp.getSid(); + } + return rb.success().setData(sid); + } + + /** + * 新增潜在客户信息及运营信息并增加跟进记录 + * + * @param dto 潜在客户信息数据传输对象 + * @param sysUserInfoVo 当前登录者的组织信息 + * @return + */ + private CrmCustomerTemp saveCrmCustomerTemp(CrmCustomerTempDto dto, SysUserVo sysUserInfoVo) { + CrmCustomerTemp crmCustomerTemp = new CrmCustomerTemp(); + dto.fillEntity(crmCustomerTemp); + crmCustomerTemp.setCreateBySid(dto.getUserSid()); + crmCustomerTemp.setStaffSid(sysUserInfoVo.getStaffSid()); + String orgSid = ""; + if (StringUtils.isNotBlank(dto.getOrgPath())) { + orgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); + } else { + orgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData(); + } + crmCustomerTemp.setCreateOrgSid(orgSid); + ResultBean resultBean = dictCommonFeign.getFirstDictKeyByType(DictCommonType.FOLLOW_STATE, "0"); + if (resultBean.getSuccess() && resultBean.getData() != null) { + String key = resultBean.getData().toString(); + crmCustomerTemp.setFollow_state_key(key); + crmCustomerTemp.setFollow_state(dictCommonFeign.selectBykey(key, DictCommonType.FOLLOW_STATE).getData().getDictValue()); + } + //客户编码 + String customerNo = getPrefix(crmCustomerTemp.getStaffSid(), crmCustomerTemp.getName(), crmCustomerTemp.getMobile()); + crmCustomerTemp.setCustomerNo(customerNo); + if (StringUtils.isNotBlank(dto.getUseOrgSid())) { + crmCustomerTemp.setUseOrgSid(dto.getUseOrgSid()); + } + crmCustomerTempFeign.saveEntity(crmCustomerTemp); + // 增加跟进记录 + String visitSid = crmVisitService.insertCrmVisitOne(dto.getUserSid(), crmCustomerTemp.getSid(), crmCustomerTemp.getIsOnRemindkey(), crmCustomerTemp.getIsOnRemind(), dto.getVisitWay(), dto.getVisitWayKey()); + // 增加附件信息 + if (dto.getCrmVisitAppendixDtoList().size() != 0) { + List pcCommonAppendixDtoList = new ArrayList<>(); + List list = dto.getCrmVisitAppendixDtoList(); + for (int i = 0; i < list.size(); i++) { + PcCommonAppendixDto pcCommonAppendixDto = new PcCommonAppendixDto(); + PcCrmVisitAppendixDto pcCrmVisitAppendixDto = list.get(i); + BeanUtils.copyProperties(pcCrmVisitAppendixDto, pcCommonAppendixDto); + pcCommonAppendixDtoList.add(pcCommonAppendixDto); + } + crmFileFeign.saveCommonAppendix(visitSid, pcCommonAppendixDtoList); + } + // 增加客户档案附件信息 + if (dto.getCustomerFiles().size() != 0) { + List pcCommonAppendixDtoList = new ArrayList<>(); + List list = dto.getCustomerFiles(); + for (int i = 0; i < list.size(); i++) { + PcCommonAppendixDto pcCommonAppendixDto = new PcCommonAppendixDto(); + FileQueryUrl url = list.get(i); + if (StringUtils.isNotBlank(dto.getUserSid())) { + pcCommonAppendixDto.setCreateBySid(dto.getUserSid()); + } + pcCommonAppendixDto.setFilePath(url.getUrl()); + pcCommonAppendixDtoList.add(pcCommonAppendixDto); + } + crmFileFeign.saveAppendix(visitSid, CommonAttachTypeEnum.CUSTOMER_FILE.getAttachType(), pcCommonAppendixDtoList); + } + + return crmCustomerTemp; + + } + + + public String getPrefix(String staffSid, String name, String mobile) { + String customerNoPrefix = ""; + //查询业务员的分公司简称和部门编码 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(staffSid); + if (staffOrgResultBean.getSuccess()) { + SysStaffOrg sysStaffOrg = staffOrgResultBean.getData(); + if (sysStaffOrg != null) { +// ResultBean resultBean1 = sysStaffOrgFeign.getOrgSidByPath(sysStaffOrg.getOrgSid()); +// if (resultBean1.getSuccess()) { +// String osid = resultBean1.getData(); +// if (StringUtils.isNotBlank(osid)) { +// ResultBean sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(osid); +// if (sysOrganizationVoResultBean.getSuccess()) { +// SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData(); +// customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgAbbre(); +// } +// } +// } + String orgSid1 = sysStaffOrg.getOrgSid(); + ResultBean sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(orgSid1); + if (sysOrganizationVoResultBean.getSuccess()) { + SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData(); + customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgCode(); + } + } + } + customerNoPrefix = customerNoPrefix + mobile + HanZiConverterPinYin.getPinYinFirst(name); + System.out.println(customerNoPrefix.length() > 30 ? customerNoPrefix.substring(0, 30) : customerNoPrefix); + return customerNoPrefix.length() > 30 ? customerNoPrefix.substring(0, 30) : customerNoPrefix; + } + + + public ResultBean del(String[] sid) { + return crmCustomerTempFeign.del(sid); + } + + /** + * 潜在客户的信息的编辑保存 + * + * @param dto 数据传输对象 + * @param sid 潜在客户的sid + * @return + */ + public ResultBean updateCrmCustomer(CrmCustomerTempUpdateDto dto, String sid) { + ResultBean rb = ResultBean.fireFail(); + CrmCustomerTemp customerTemp = crmCustomerTempFeign.fetchBySid(sid).getData(); + if (customerTemp == null) { + return rb.setMsg("该客户不存在"); + } + //对比客户名称以及手机号是否变化 + if (!customerTemp.getName().equals(dto.getName())) { + return rb.setMsg("客户名称不允许修改"); + } + if (!customerTemp.getMobile().equals(dto.getMobile())) { + return rb.setMsg("客户手机号不允许修改"); + } + BeanUtil.copyProperties(dto, customerTemp); + if (StringUtils.isNotBlank(dto.getUseOrgSid())) { + customerTemp.setUseOrgSid(dto.getUseOrgSid()); + } + crmCustomerTempFeign.updateEntity(customerTemp); + crmFileFeign.deleteFiles(sid, CommonAttachTypeEnum.CUSTOMER_FILE.getAttachType()); + // 增加客户档案附件信息 + if (dto.getCustomerFiles().size() != 0) { + List pcCommonAppendixDtoList = new ArrayList<>(); + List list = dto.getCustomerFiles(); + for (int i = 0; i < list.size(); i++) { + PcCommonAppendixDto pcCommonAppendixDto = new PcCommonAppendixDto(); + FileQueryUrl url = list.get(i); + if (StringUtils.isNotBlank(dto.getUserSid())) { + pcCommonAppendixDto.setCreateBySid(dto.getUserSid()); + } + pcCommonAppendixDto.setFilePath(url.getUrl()); + pcCommonAppendixDtoList.add(pcCommonAppendixDto); + } + crmFileFeign.saveAppendix(sid, CommonAttachTypeEnum.CUSTOMER_FILE.getAttachType(), pcCommonAppendixDtoList); + } + + return rb.success(); + } + + public CrmCustomerTemp fetchBySid(String sid) { + CrmCustomerTemp customerTemp = crmCustomerTempFeign.fetchBySid(sid).getData(); + return customerTemp; + } + + public CrmCustomerTempVo fetchAllBySid(String sid) { + CrmCustomerTempVo vo = new CrmCustomerTempVo(); + CrmCustomerTemp crmCustomerTemp = this.fetchBySid(sid); + BeanUtil.copyProperties(crmCustomerTemp, vo); + CommonAppendixSelectQuery appendixSelectQuery = new CommonAppendixSelectQuery(); + appendixSelectQuery.setLinkSid(sid); + appendixSelectQuery.setAttachType(CommonAttachTypeEnum.CUSTOMER_FILE.getAttachType()); + List appendixVos = crmFileFeign.getPcAppendix(appendixSelectQuery).getData(); + if (!appendixVos.isEmpty() && appendixVos.size() > 0) { + List list = new ArrayList<>(); + for (CommonAppendixVo appendixVo : appendixVos) { + FileQueryUrl queryUrl = new FileQueryUrl(); + queryUrl.setUrl(appendixVo.getFilePath()); + list.add(queryUrl); + } + vo.setCustomerFiles(list); + } + return vo; + } +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempUpdateDto.java b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempUpdateDto.java new file mode 100644 index 0000000..bb1e8e4 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempUpdateDto.java @@ -0,0 +1,122 @@ +package com.yxt.oms.biz.func.crmcustomer; + +import com.yxt.common.core.dto.Dto; +import com.yxt.oms.utils.FileQueryUrl; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Pattern; +import java.util.ArrayList; +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/7/12 14:04 + * @Description + */ +@Data +public class CrmCustomerTempUpdateDto implements Dto { + private static final long serialVersionUID = -1744083007571476652L; + + @ApiModelProperty(value = "当前登录用户的sid") + private String userSid; + + @ApiModelProperty(value = "客户类型(个人/企业)", required = true) + @NotBlank(message = "客户类型为必选项") + private String customerType; + + @ApiModelProperty(value = "客户类型key", required = true) + @NotBlank(message = "客户类型为必选项") + private String customerTypeKey; + + @ApiModelProperty(value = "见面方式key", required = true) + @NotBlank(message = "见面方式为必选项") + private String visitWayKey; + + @ApiModelProperty(value = "见面方式(到店/电话/拜访)", required = true) + @NotBlank(message = "见面方式为必选项") + private String visitWay; + + @ApiModelProperty(value = "客户名称", required = true) + @NotBlank(message = "客户名称为必填项") + private String name; + + @ApiModelProperty("联系电话") + @NotBlank(message = "联系电话为必填项") + @Pattern(regexp = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$", message = "手机号码格式不正确") + private String mobile; + + @ApiModelProperty("微信号码") + private String weixin; + + @ApiModelProperty("公司名称:个人客户时显示") + private String companyName; + + @ApiModelProperty("行政区划代码(省)") + private String address_province; + + @ApiModelProperty("行政区划代码(市)") + private String address_city; + @ApiModelProperty("行政区划代码(县)") + private String address_county; + @ApiModelProperty("客户地址:省") + private String province; + @ApiModelProperty("客户地址:市") + private String city; + @ApiModelProperty("客户地址:县") + private String county; + @ApiModelProperty("客户地址:详细地址") + private String address; + + @ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)") + private String level; + @ApiModelProperty("客户级别key") + private String levelKey; + //更多信息 + @ApiModelProperty("客户生日:个人客户时显示") + private String birthday; + @ApiModelProperty("性别:个人客户时显示") + private String sex; + @ApiModelProperty("性别key:个人客户时") + private String sexKey; + @ApiModelProperty("证件类型key") + private String certificateTypeKey; + @ApiModelProperty("证件类型(个人为身份证/企业为营业执照)") + private String certificateType; + @ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)") + private String IDNumber; + @ApiModelProperty("证件有效期") + private String endDate; + @ApiModelProperty("电子邮箱") + private String e_mail; + @ApiModelProperty(value = "联系人") + private String contacts; + @ApiModelProperty("紧急联系人") + private String emergencyContact; + + @ApiModelProperty("紧急联系电话") + private String emergencyMobile; + + @ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)") + private String source; + + @ApiModelProperty("客户来源key") + private String sourceKey; + @ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)") + private String customerClass; + @ApiModelProperty("客户分类key") + private String customerClassKey; + @ApiModelProperty(value = "备注") + private String remarks; + + //客户档案 + @ApiModelProperty(value = "客户档案") + private List customerFiles = new ArrayList<>(); + + private String orgPath; + private String useOrgSid; + private String customerOrgSid; + private String customerOrgName; + +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempVo.java b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempVo.java new file mode 100644 index 0000000..aa422ce --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempVo.java @@ -0,0 +1,197 @@ +package com.yxt.oms.biz.func.crmcustomer; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import com.yxt.oms.utils.FileQueryUrl; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmCustomerTempVo.java
+ * Class: com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo
+ * Description: 潜在客户信息 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-12 11:21:16
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "潜在客户信息 视图数据对象", description = "潜在客户信息 视图数据对象") +@Data +public class CrmCustomerTempVo implements Vo { + + @ApiModelProperty("潜在客户sid") + private String sid; + + @ApiModelProperty("分公司名称") + private String createOrgName; + + @ApiModelProperty("业务员名称") + private String staffName; + + @ApiModelProperty("部门名称") + private String deptName; + + @ApiModelProperty("创建人sid") + private String createBySid; + + @ApiModelProperty("登记日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + + @ApiModelProperty("客户编号(部门编码+客户类型(1位,0个人,1企业)+部门内部流水号(6位))") + private String customerNo; + + @ApiModelProperty("客户类型(自然人/法人)") + private String customerType; + + @ApiModelProperty("客户类型key") + private String customerTypeKey; + + @ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)") + private String customerClass; + + @ApiModelProperty("客户分类key") + private String customerClassKey; + + @ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)") + private String source; + + @ApiModelProperty("客户来源key") + private String sourceKey; + + @ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)") + private String level; + + @ApiModelProperty("客户级别key") + private String levelKey; + + @ApiModelProperty("客户名称") + private String name; + + @ApiModelProperty("证件类型key") + private String certificateTypeKey; + + @ApiModelProperty("证件类型(个人为身份证/企业为营业执照)") + private String certificateType; + + @ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)") + private String IDNumber; + + @ApiModelProperty("证件有效期") + private String endDate; + + @ApiModelProperty("行政区划代码(省)") + private String address_province; + + @ApiModelProperty("行政区划代码(市)") + private String address_city; + + @ApiModelProperty("行政区划代码(县)") + private String address_county; + + @ApiModelProperty("省") + private String province; + + @ApiModelProperty("市") + private String city; + + @ApiModelProperty("县") + private String county; + + @ApiModelProperty("客户地址") + private String address; + + @ApiModelProperty("邮编") + private String zipCode; + + @ApiModelProperty("电子邮箱") + private String e_mail; + + @ApiModelProperty("联系人") + private String contacts; + + @ApiModelProperty("联系电话") + private String mobile; + + @ApiModelProperty("紧急联系电话") + private String emergencyContact; + + @ApiModelProperty("紧急联系电话") + private String emergencyMobile; + + @ApiModelProperty("微信号码") + private String weixin; + + @ApiModelProperty("业务人员sid") + private String staffSid; + + @ApiModelProperty("创建组织sid") + private String createOrgSid; + + @ApiModelProperty("性别") + private String sex; + + @ApiModelProperty("性别key") + private String sexKey; + + @ApiModelProperty("客户生日") + private String birthday; + + @ApiModelProperty("所在公司名称") + private String companyName; + + @ApiModelProperty("跟进状态key") + private String follow_state_key; + + @ApiModelProperty("跟进状态") + private String follow_state; + + @ApiModelProperty("是否开启提醒key(1开启,0不开启)") + private String isOnRemindkey; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemind; + + @ApiModelProperty("提醒日期") + private String remind_day; + + @ApiModelProperty("提醒备注") + private String remind_remark; + + @ApiModelProperty("客户头像") + private String customerPhoto; + + @ApiModelProperty("见面方式key") + private String visitWayKey; + + @ApiModelProperty("见面方式(到店/电话/拜访)") + private String visitWay; + + @ApiModelProperty("备注") + private String remarks; + + @ApiModelProperty("意向车型数量") + private String yxcounts; + + @ApiModelProperty("跟进记录数量") + private String gjcounts; + + //客户档案 + @ApiModelProperty(value = "客户档案") + private List customerFiles = new ArrayList<>(); + + private String useOrgSid; + private String customerOrgSid; + private String customerOrgName; + +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/SalesCustomerQuery.java b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/SalesCustomerQuery.java new file mode 100644 index 0000000..3147a6e --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/SalesCustomerQuery.java @@ -0,0 +1,28 @@ +package com.yxt.oms.biz.func.crmcustomer; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/7/24 15:17 + */ +@Data +public class SalesCustomerQuery implements Query { + + private String createOrgSid; + /** + * 客户编码 + */ + private String customerNo; + /** + * 手机号 + */ + private String mobile; + /** + * 客户名称 + */ + private String name; + +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/SalesCustomerVo.java b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/SalesCustomerVo.java new file mode 100644 index 0000000..5908015 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/SalesCustomerVo.java @@ -0,0 +1,59 @@ +package com.yxt.oms.biz.func.crmcustomer; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/7/24 15:18 + */ +@Data +public class SalesCustomerVo { + + /** + * 地址 + */ + private String address; + /** + * 昵称 + */ + private String buyserNickname; + /** + * 市 + */ + private String city; + /** + * 县 + */ + private String county; + /** + * 客户编码 + */ + private String customerNo; + /** + * 手机 + */ + private String mobile; + /** + * 客户名称 + */ + private String name; + /** + * 平台 + */ + private String originalPlat; + /** + * 固话 + */ + private String phone; + /** + * 省 + */ + private String province; + private String sid; + /** + * 街道 + */ + private String street; + +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmcustomerfile/CrmCustomerFileQuery.java b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomerfile/CrmCustomerFileQuery.java new file mode 100644 index 0000000..1973ddb --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomerfile/CrmCustomerFileQuery.java @@ -0,0 +1,58 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.oms.biz.func.crmcustomerfile; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户)
+ * File: CrmCustomerFileQuery.java
+ * Class: com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFileQuery
+ * Description: 客户资料初始化表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-02-26 14:10:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户资料初始化表 查询条件", description = "客户资料初始化表 查询条件") +@Data +public class CrmCustomerFileQuery implements Query { + + private static final long serialVersionUID = -7649979452082150903L; + @ApiModelProperty("文件类别") + private String attachType; + @ApiModelProperty("文件名称") + private String fileName; + @ApiModelProperty("客户sid") + private String customerSid; +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmcustomerfile/CrmCustomerFileService.java b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomerfile/CrmCustomerFileService.java new file mode 100644 index 0000000..c41f4be --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomerfile/CrmCustomerFileService.java @@ -0,0 +1,54 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.oms.biz.func.crmcustomerfile; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Service; + +/** + * Project: anrui-crm(客户)
+ * File: CrmCustomerFileService.java
+ * Class: com.yxt.anrui.crm.biz.crmcustomerfile.CrmCustomerFileService
+ * Description: 客户资料初始化表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-02-26 14:10:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class CrmCustomerFileService { + + + public ResultBean> listPageVo(PagerQuery pq) { + return null; + } +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmcustomerfile/CrmCustomerFileVo.java b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomerfile/CrmCustomerFileVo.java new file mode 100644 index 0000000..19e8dbd --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmcustomerfile/CrmCustomerFileVo.java @@ -0,0 +1,64 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.oms.biz.func.crmcustomerfile; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户)
+ * File: CrmCustomerFileVo.java
+ * Class: com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFileVo
+ * Description: 客户资料初始化表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-02-26 14:10:17
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户资料初始化表 视图数据对象", description = "客户资料初始化表 视图数据对象") +@Data +public class CrmCustomerFileVo implements Vo { + + private static final long serialVersionUID = -2901642630941149061L; + @ApiModelProperty("客户资料初始化sid") + private String sid; + @ApiModelProperty("文件类别") + private String attachType; + @ApiModelProperty("文件名称") + private String fileName; + @ApiModelProperty("最新上传人") + private String name; + @ApiModelProperty("最新上传时间") + private String createTime; + @ApiModelProperty("示例") + private String sample; +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmfile/CommonAppendixSelectQuery.java b/oms/src/main/java/com/yxt/oms/biz/func/crmfile/CommonAppendixSelectQuery.java new file mode 100644 index 0000000..5154644 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmfile/CommonAppendixSelectQuery.java @@ -0,0 +1,31 @@ +package com.yxt.oms.biz.func.crmfile; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-base(安瑞基础信息模块)
+ * File: CommonAppendixQuery.java
+ * Class: com.yxt.anrui.base.api.commonappendix.CommonAppendixQuery
+ * Description: 公共附件表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 08:59:25
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "公共附件表 查询条件", description = "公共附件表 查询条件") +@Data +public class CommonAppendixSelectQuery implements Query { + + @ApiModelProperty("关联业务对象sid") + private String linkSid; + + @ApiModelProperty("附件类型") + private String attachType; +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmfile/CommonAppendixVo.java b/oms/src/main/java/com/yxt/oms/biz/func/crmfile/CommonAppendixVo.java new file mode 100644 index 0000000..8bcfdc8 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmfile/CommonAppendixVo.java @@ -0,0 +1,62 @@ +package com.yxt.oms.biz.func.crmfile; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-base(安瑞基础信息模块)
+ * File: CommonAppendixVo.java
+ * Class: com.yxt.anrui.base.api.commonappendix.CommonAppendixVo
+ * Description: 公共附件表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 08:59:25
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "公共附件表 视图数据对象", description = "公共附件表 视图数据对象") +@Data +public class CommonAppendixVo implements Vo { + + @ApiModelProperty("sid") + private String sid; + + @ApiModelProperty("上传人姓名") + private String name; + + @ApiModelProperty("文件名") + private String fileName; + + @ApiModelProperty("文件类型") + private String fileType; + + @ApiModelProperty("关联业务对象sid") + private String linkSid; + + @ApiModelProperty("附件类型") + private String attachType; + + @ApiModelProperty("文件大小") + private String fileSize; + + @ApiModelProperty("文件的路径") + private String filePath; + + @ApiModelProperty("文件的路径") + private String fileUrl; + + @ApiModelProperty("备注") + private String remarks; + + @ApiModelProperty("上传人sid") + private String createBySid; + + @ApiModelProperty("上传时间") +// @DateTimeFormat(pattern = "yyyy-MM-dd") + private String createTime; +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmfile/CommonAttachTypeEnum.java b/oms/src/main/java/com/yxt/oms/biz/func/crmfile/CommonAttachTypeEnum.java new file mode 100644 index 0000000..b7d7f6a --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmfile/CommonAttachTypeEnum.java @@ -0,0 +1,85 @@ +package com.yxt.oms.biz.func.crmfile; + +/** + * @Author dimengzhe + * @Date 2022/2/12 10:13 + * @Description 附件类型枚举 + */ +public enum CommonAttachTypeEnum { + /** + * 附件类型: + * 1、0001:合同, + * 2、0002:人行征信, + * 3、0003:开票申请附件, + * 4、0004:跟进记录的材料 + * 5、0005:家访照片 + * 6、0006_1:贷款人证明文_担保人人行征信查询授权书(原件) + * 7、0006_2:贷款人证明文_贷款人人行征信查询授权书(手持) + * 8、0006_3:贷款人证明文_配偶人行征信查询授权书(原件) + * 9、0006_4:贷款人证明文_配偶人行征信查询授权书(手持) + * 10、0006_5:贷款人证明文_配偶数据查询授权书 + * 11、0006_6:贷款人证明文_征信查询报告(有效期:3个月以内) + * 12、0006_7:贷款人证明文_贷款人及配偶居住证明 + * 13、0007_1:担保人文件_担保人人行征信查询授权书(原件) + * 14、0007_2:担保人文件_担保人人行征信查询授权书(手持) + * 15、0008:资产证明 + * 16、0009_01:放款文件_家访照片 + * 17、0009_02:放款文件_交车照片 + * 18、0009_03:放款文件_车辆合格证 + * 19、0009_04:放款文件_挂车合格证 + * 20、0009_05:放款文件_新车全车照片 + * 21、0009_06:放款文件_挂车照片 + * 22、0009_07:放款文件_新车发动机号照片 + * 23、0009_08:放款文件_新车车架号照片 + * 24、0009_09:放款文件_挂车车架号照片 + * 25、0009_10:放款文件_放款文件其它资料 + * 26、0009_11:放款文件_首付款证明 + */ + CONTRACT("0001", "合同"), + CONTRACT_UPLOAD("0001_1", "合同下载"), + CREDIT("0002", "人行征信"), + INVOICE("0003", "开票申请附件"), + INVOICE_KHKPSQS("0003_1", "客户开票申请书"), + INVOICE_CLDJHT("0003_2", "车辆登记合同"), + INVOICE_KPXXQRS("0003_3", "开票信息确认书"), + WITNESS("0004", "跟进记录的材料"), + ADVANCE_GIN("0005", "提前开票附件"), + ADVANCE_KHKPSQS("0005_1", "客户开票申请书"), + ADVANCE_CLDJHT("0005_2", "车辆登记合同"), + ADVANCE_KPXXQRS("0005_3", "开票信息确认书"), + CUSTOMER_FILE("0006", "客户资料附件"), + ARREARS("0007", "欠款提车附件"), + SCENESIGN("0008", "现场签署附件"), + PAYMENT_VOUCHER("0009", "打款凭证附件"), + REMITTAN_CECONFIRMATION("0010", "汇款确认书附件"), + SEAL_APPLY("0011", "盖章附件"), + BILL_APPLICAYION("0012", "开票申请附件"), + MANUFACTOR_SUB("0013", "厂商认款附件"), + MANUFACTOR_RETWARE("0014", "厂家退库车辆附件"), + SHUNTINGINVOICINAPPLY("0015", "调车开票附件"), + OUTSOURCINGAPPLY("0016", "外采申请附件"), + INBOUNDAPPLY("0017", "入账申请附件"), + VEHBUYBLANK("0018", "车辆买断附件"); + /** + * 附件类型 + */ + private final String attachType; + + /** + * 代号 + */ + private final String mark; + + CommonAttachTypeEnum(String attachType, String mark) { + this.attachType = attachType; + this.mark = mark; + } + + public String getAttachType() { + return attachType; + } + + public String getMark() { + return mark; + } +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmfile/CrmFileService.java b/oms/src/main/java/com/yxt/oms/biz/func/crmfile/CrmFileService.java new file mode 100644 index 0000000..57d86eb --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmfile/CrmFileService.java @@ -0,0 +1,71 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.oms.biz.func.crmfile; + +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.base.config.component.FileUploadComponent; +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.oms.feign.customer.crmfile.CrmFileFeign; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +/** + * Project: anrui-crm(客户信息)
+ * File: CrmFileService.java
+ * Class: com.yxt.anrui.crm.biz.crmfile.CrmFileService
+ * Description: 客户资料表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class CrmFileService { + + + @Autowired + private CrmFileFeign crmFileFeign; + + + public ResultBean> getPcAppendix(CommonAppendixSelectQuery query) { + return crmFileFeign.getPcAppendix(query); + } +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmfile/PcCommonAppendixDto.java b/oms/src/main/java/com/yxt/oms/biz/func/crmfile/PcCommonAppendixDto.java new file mode 100644 index 0000000..941cbb4 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmfile/PcCommonAppendixDto.java @@ -0,0 +1,28 @@ +package com.yxt.oms.biz.func.crmfile; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description + * @Author liuguohui + * @Date 2021/11/22 + */ +@Data +public class PcCommonAppendixDto implements Dto { + + private static final long serialVersionUID = 2211027947432178940L; + @ApiModelProperty("上传人sid") + private String createBySid; + @ApiModelProperty("上传人") + private String name; + @ApiModelProperty("文件名") + private String fileName; + @ApiModelProperty("文件类型") + private String fileType; + @ApiModelProperty("文件大小") + private String fileSize; + @ApiModelProperty("文件的路径") + private String filePath; +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisit.java b/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisit.java new file mode 100644 index 0000000..214e0b1 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisit.java @@ -0,0 +1,98 @@ +package com.yxt.oms.biz.func.crmvisit; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmVisit.java
+ * Class: com.yxt.anrui.crm.api.crmvisit.CrmVisit
+ * Description: 客户跟进记录.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-28 09:57:14
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户跟进记录", description = "客户跟进记录") +@TableName("crm_visit") +@Data +public class CrmVisit extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("客户sid") + private String customerSid; + + @ApiModelProperty("员工Sid") + private String staffSid; + + @ApiModelProperty("跟进形式key") + private String follow_form_key; + + @ApiModelProperty("跟进形式(电话/上门/微信/到店)") + private String follow_form; + + @ApiModelProperty("跟进类别key") + private String follow_type_key; + + @ApiModelProperty("跟进类别(例行安排/临时)") + private String follow_type; + + @ApiModelProperty("跟进时间") + private String follow_time; + + @ApiModelProperty("跟进效果") + private String follow_result; + + @ApiModelProperty("拜访见证材料") + private String visit_witness_materials; + + @ApiModelProperty("组织sid") + private String orgSid; + + @ApiModelProperty("跟进状态key") + private String follow_state_key; + + @ApiModelProperty("跟进状态(新获取/待跟进/初步意向/准客户/成交/失效)") + private String follow_state; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemind; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemindkey; + + @ApiModelProperty("设置提醒日期的时间") + private String setTime; + + @ApiModelProperty("提醒日期(天)") + private String remind_day; + + @ApiModelProperty("提醒日期(天)key") + private String remind_day_key; + + @ApiModelProperty("提醒备注") + private String remind_remark; + + @ApiModelProperty("位置信息") + private String positionInformation; + +/* @ApiModelProperty("区域代码(省)") + private String address_province; + @ApiModelProperty("区域代码(市)") + private String address_city; + @ApiModelProperty("区域代码(县)") + private String address_county;*/ + + @ApiModelProperty("经度") + private String longitude; + @ApiModelProperty("纬度") + private String latitude; + +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitDto.java b/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitDto.java new file mode 100644 index 0000000..b045053 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitDto.java @@ -0,0 +1,86 @@ +package com.yxt.oms.biz.func.crmvisit; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmVisitDto.java
+ * Class: com.yxt.anrui.crm.api.crmvisit.CrmVisitDto
+ * Description: 客户跟进记录 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-28 09:57:14
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户跟进记录 数据传输对象", description = "客户跟进记录 数据传输对象") +@Data +public class CrmVisitDto implements Dto { + + + @ApiModelProperty("客户sid") + private String customerSid; + + @ApiModelProperty("员工Sid") + private String staffSid; + + @ApiModelProperty("跟进形式key") + private String follow_form_key; + + @ApiModelProperty("跟进形式(电话/上门/微信/到店)") + private String follow_form; + + @ApiModelProperty("跟进类别key") + private String follow_type_key; + + @ApiModelProperty("跟进类别(例行安排/临时)") + private String follow_type; + + @ApiModelProperty("跟进时间") + private String follow_time; + + @ApiModelProperty("跟进效果") + private String follow_result; + + @ApiModelProperty("拜访见证材料") + private String visit_witness_materials; + + @ApiModelProperty("组织sid") + private String orgSid; + + @ApiModelProperty("跟进状态key") + private String follow_state_key; + + @ApiModelProperty("跟进状态(新获取/待跟进/初步意向/准客户/成交/失效)") + private String follow_state; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemindkey; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemind; + + @ApiModelProperty("设置提醒日期的时间") + private String setTime; + + @ApiModelProperty("提醒日期(天)") + private String remind_day; + + @ApiModelProperty("提醒日期(天)key") + private String remind_day_key; + + @ApiModelProperty("提醒备注") + private String remind_remark; + + @ApiModelProperty("附件信息") + private List list; + +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitQuery.java b/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitQuery.java new file mode 100644 index 0000000..7a3986d --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitQuery.java @@ -0,0 +1,43 @@ +package com.yxt.oms.biz.func.crmvisit; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmVisitQuery.java
+ * Class: com.yxt.anrui.crm.api.crmvisit.CrmVisitQuery
+ * Description: 客户跟进记录 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-28 09:57:14
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户跟进记录 查询条件", description = "客户跟进记录 查询条件") +@Data +public class CrmVisitQuery implements Query { + + @ApiModelProperty("客户sid") + private String customerSid; + + @ApiModelProperty("员工Sid") + private String staffSid; + + @ApiModelProperty("跟进形式key") + private String follow_form_key; + + @ApiModelProperty("起始跟进时间") + private String start_follow_time; + + @ApiModelProperty("结束跟进时间") + private String end_follow_time; + + @ApiModelProperty("跟进状态key") + private String follow_state_key; +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitService.java b/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitService.java new file mode 100644 index 0000000..e0094e1 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitService.java @@ -0,0 +1,131 @@ +package com.yxt.oms.biz.func.crmvisit; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.DateUtils; +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.oms.biz.func.dictcommon.DictCommonVo; +import com.yxt.oms.config.DictCommonType; +import com.yxt.oms.feign.customer.crmvisit.CrmVisitFeign; +import com.yxt.oms.feign.portal.dictcommon.DictCommonFeign; +import com.yxt.oms.feign.portal.sysstafforg.SysStaffOrgFeign; +import com.yxt.oms.feign.portal.sysuser.SysStaffOrgVo; +import com.yxt.oms.feign.portal.sysuser.SysUser; +import com.yxt.oms.feign.portal.sysuser.SysUserFeign; +import com.yxt.oms.feign.portal.sysuser.SysUserVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestBody; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmVisitService.java
+ * Class: com.yxt.anrui.crm.biz.crmvisit.CrmVisitService
+ * Description: 客户跟进记录 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-28 09:57:14
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class CrmVisitService { + + @Resource + private SysUserFeign sysUserFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Resource + private DictCommonFeign dictCommonFeign; + @Autowired + private CrmVisitFeign crmVisitFeign; + + public String insertCrmVisitOne(String userSid, String customerSid, String isOnRemindkey, String isOnRemind, String visitWay, String visitWayKey) { + CrmVisit visit = new CrmVisit(); + //查询用户信息 + SysUserVo user = sysUserFeign.fetchBySid(userSid).getData(); + visit.setCreateBySid(userSid); + visit.setCustomerSid(customerSid); + visit.setStaffSid(user.getStaffSid()); + visit.setFollow_time(DateUtils.dateConvertStr(new Date(), "yyyy-MM-dd")); + visit.setFollow_result("客户登记"); + visit.setFollow_form(visitWay); + visit.setFollow_form_key(visitWayKey); + //visit.setVisit_witness_materials(); + //查询组织 + List list = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(user.getStaffSid()).getData(); + if (list.size() > 0) { + SysStaffOrgVo sysStaffOrgVo = list.get(0); + visit.setOrgSid(sysStaffOrgVo.getOrgSid()); + } + ResultBean resultBean = dictCommonFeign.getFirstDictKeyByType(DictCommonType.FOLLOW_STATE, "0"); + if (resultBean.getSuccess() && resultBean.getData() != null) { + String key = resultBean.getData().toString(); + visit.setFollow_state_key(key); + visit.setFollow_state(dictCommonFeign.selectBykey(key, DictCommonType.FOLLOW_STATE).getData().getDictValue()); + } + visit.setIsOnRemindkey(isOnRemindkey); + visit.setIsOnRemind(isOnRemind); + List commonVoList = dictCommonFeign.getTypeValues(DictCommonType.REMIND_DAY, "0").getData(); + String remindDayKey = ""; + if (commonVoList.size() > 0) { + remindDayKey = commonVoList.get(0).getDictKey(); + } + visit.setRemind_day_key(remindDayKey); + visit.setRemind_day(dictCommonFeign.selectBykey(remindDayKey, DictCommonType.REMIND_DAY).getData().getDictValue()); + crmVisitFeign.saveEntity(visit); + return visit.getSid(); + } + + public ResultBean> pagerList(PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + String staffSid = pagerQuery.getParams().getStaffSid(); + ResultBean sysUserVoResultBean = sysUserFeign.selectByStaffsid(staffSid); + String name = sysUserVoResultBean.getData().getName(); + ResultBean > resultBean = crmVisitFeign.pageList(pagerQuery); + if (resultBean.getSuccess()) { + PagerVo data = resultBean.getData(); + List records = data.getRecords(); + if (!records.isEmpty()) { + for (CrmVisitVo record : records) { + if (StringUtils.isNotBlank(name)) { + record.setStaffName(name); + } + } + data.setRecords(records); + } + return rb.success().setData(data); + } + return rb.success(); + + } + + public ResultBean fetchSid(String sid) { + ResultBean crmVisitVoResultBean = crmVisitFeign.fetchSid(sid); + return crmVisitVoResultBean; + } + + public boolean save(CrmVisit entity) { + return crmVisitFeign.saveEntity(entity); + } + + + public boolean updateBySid(CrmVisitDto dto, String sid) { + return crmVisitFeign.update(dto,sid); + } + + public ResultBean delBySids(String[] ids) { + return crmVisitFeign.del(ids); + } +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitVo.java b/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitVo.java new file mode 100644 index 0000000..3124209 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitVo.java @@ -0,0 +1,106 @@ +package com.yxt.oms.biz.func.crmvisit; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * Project: anrui-crm(客户管理)
+ * File: CrmVisitVo.java
+ * Class: com.yxt.anrui.crm.api.crmvisit.CrmVisitVo
+ * Description: 客户跟进记录 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-28 09:57:14
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "客户跟进记录 视图数据对象", description = "客户跟进记录 视图数据对象") +@Data +public class CrmVisitVo implements Vo { + + private static final long serialVersionUID = 3237477051430279347L; + @ApiModelProperty("sid") + private String sid; + + @ApiModelProperty("员工Sid") + private String staffSid; + + @ApiModelProperty("员工Name") + private String staffName; + + @ApiModelProperty("客户名称") + private String customerName; + + @ApiModelProperty("跟进形式key") + private String follow_form_key; + + @ApiModelProperty("跟进形式(电话/上门/微信/到店)") + private String follow_form; + + @ApiModelProperty("跟进类别key") + private String follow_type_key; + + @ApiModelProperty("跟进类别(例行安排/临时)") + private String follow_type; + + @ApiModelProperty("跟进时间") + private String follow_time; + + @ApiModelProperty("跟进效果") + private String follow_result; + + @ApiModelProperty("拜访见证材料") + private String visit_witness_materials; + + @ApiModelProperty("组织sid") + private String orgSid; + + @ApiModelProperty("跟进状态key") + private String follow_state_key; + + @ApiModelProperty("跟进状态(新获取/待跟进/初步意向/准客户/成交/失效)") + private String follow_state; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemind; + + @ApiModelProperty("是否开启提醒(1开启,0不开启)") + private String isOnRemindkey; + + @ApiModelProperty("设置提醒日期的时间") + private String setTime; + + @ApiModelProperty("提醒日期(天)") + private String remind_day; + + @ApiModelProperty("提醒日期(天)key") + private String remind_day_key; + + @ApiModelProperty("提醒备注") + private String remind_remark; + + @ApiModelProperty("位置信息") + private String positionInformation; + + @ApiModelProperty("经度") + private String longitude; + + @ApiModelProperty("纬度") + private String latitude; + + @ApiModelProperty("经纬度") + private String location; + + @ApiModelProperty("区域代码描述") + private String locationStr; + + @ApiModelProperty("车辆需求条数") + private String xqcounts; +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/PcCrmVisitAppendixDto.java b/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/PcCrmVisitAppendixDto.java new file mode 100644 index 0000000..087dc9d --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/crmvisit/PcCrmVisitAppendixDto.java @@ -0,0 +1,22 @@ +package com.yxt.oms.biz.func.crmvisit; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PcCrmVisitAppendixDto implements Dto { + + private static final long serialVersionUID = -215934317034761854L; + //附件类型:1、0001:合同,2、0002:人行征信,3、0003:开票申请附件,4、0004:跟进记录的材料 + @ApiModelProperty("上传人sid") + private String createBySid; + @ApiModelProperty("文件名") + private String fileName; + @ApiModelProperty("文件类型") + private String fileType; + @ApiModelProperty("文件大小") + private String fileSize; + @ApiModelProperty("文件的路径") + private String filePath; +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/GoodsSpuService.java b/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/GoodsSpuService.java index f76de80..829b20f 100644 --- a/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/GoodsSpuService.java +++ b/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/GoodsSpuService.java @@ -4,6 +4,7 @@ import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import com.yxt.oms.feign.goods.goodsSpu.GoodsSpuFeign; +import com.yxt.oms.feign.warehouse.warehouseInventory.WarehouseInventoryFeign; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -21,11 +22,27 @@ import java.util.stream.Collectors; * @date 2024/2/26 13:40 */ @Service -public class GoodsSpuService { - private GoodsSpuFeign goodsSpuFeign; +public class GoodsSpuService { + @Autowired + private GoodsSpuFeign goodsSpuFeign; + @Autowired + private WarehouseInventoryFeign warehouseInventoryFeign; public ResultBean> getGoodsForSales(PagerQuery pq) { - return goodsSpuFeign.getGoodsForSales(pq); + ResultBean> goodsForSales = goodsSpuFeign.getGoodsForSales(pq); + PagerVo data = goodsForSales.getData(); + if (data != null) { + List records = data.getRecords(); + if (!records.isEmpty()) { + for (SalesGoodsVo record : records) { + String count = warehouseInventoryFeign.selInventoryCountBySkuSid(record.getGoodsSkuSid()); + record.setInventoryCount(count); + } + } + data.setRecords(records); + goodsForSales.setData(data); + } + return goodsForSales; } } diff --git a/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/SalesGoodsQuery.java b/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/SalesGoodsQuery.java index 2df5ca5..dd8f403 100644 --- a/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/SalesGoodsQuery.java +++ b/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/SalesGoodsQuery.java @@ -12,4 +12,6 @@ import lombok.Data; public class SalesGoodsQuery implements Query { private String goodsName; private String createOrgSid; + private String goodsSkuCode; + private String goodsSkuOwnSpec; } diff --git a/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/SalesGoodsVo.java b/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/SalesGoodsVo.java index 46606c4..c162fe9 100644 --- a/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/SalesGoodsVo.java +++ b/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/SalesGoodsVo.java @@ -3,6 +3,9 @@ package com.yxt.oms.biz.func.goodsspu; import com.yxt.common.core.vo.Vo; import lombok.Data; +import java.util.ArrayList; +import java.util.List; + /** * @author Fan * @description @@ -59,4 +62,27 @@ public class SalesGoodsVo implements Vo { * 重量(kg) */ private String weight; + + /** + * 成本均价 + */ + private String costPrice; + /** + * 参考进价 + */ + private String standardPurchasePrice; + /** + * 实际可用库存 + */ + private String inventoryCount; + + /** + * 图片 + */ + private List pic = new ArrayList<>(); + + private String picUrl; + + + } diff --git a/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/GoodsSkuPurSelectList.java b/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/GoodsSkuPurSelectList.java index 3a2c765..9d2faa5 100644 --- a/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/GoodsSkuPurSelectList.java +++ b/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/GoodsSkuPurSelectList.java @@ -2,6 +2,8 @@ package com.yxt.oms.biz.func.purchasebill; import lombok.Data; +import java.math.BigDecimal; + /** * @description: * @author: dimengzhe @@ -20,4 +22,20 @@ public class GoodsSkuPurSelectList { private String barCode; //规格名称 private String goodsSkuOwnSpec; + //单位 + private String unit; + //数量 + private BigDecimal count; + //数量1 + private BigDecimal count1; + //数量 + private BigDecimal pcsNum; + //吊牌价 + private BigDecimal tagPrice; + //单价 + private BigDecimal cost; + //单价1 + private BigDecimal cost1; + //货号 + private String itemNumber; } diff --git a/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/GoodsSkuPurSelectQuery.java b/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/GoodsSkuPurSelectQuery.java index 0042a1f..3684cf8 100644 --- a/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/GoodsSkuPurSelectQuery.java +++ b/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/GoodsSkuPurSelectQuery.java @@ -19,4 +19,6 @@ public class GoodsSkuPurSelectQuery implements Query { private String barCode; //规格名称 private String goodsSkuOwnSpec; + + private String orgPath; } diff --git a/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillDetailsVo.java b/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillDetailsVo.java index 8ffe5ea..7a0e4e6 100644 --- a/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillDetailsVo.java +++ b/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillDetailsVo.java @@ -30,6 +30,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.yxt.common.core.vo.Vo; import com.yxt.oms.biz.func.purchaseappendix.PurchaseAppendixUrl; import com.yxt.oms.biz.func.purchasebillamount.PurchaseBillAmountDetailsVo; +import com.yxt.oms.biz.func.purchasebillbatch.PurchaseBillBatchDetailsVo; import com.yxt.oms.biz.func.purchasebilldetail.PurchaseBillDetailDetailsVo; import com.yxt.oms.biz.func.purchasebillextend.PurchaseBillExtendDetailsVo; import io.swagger.annotations.ApiModel; @@ -45,6 +46,9 @@ public class PurchaseBillDetailsVo implements Vo { private String sid; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("创建时间") + private Date createTime; @ApiModelProperty("备注") private String remarks; @ApiModelProperty("制单人sid") @@ -79,9 +83,8 @@ public class PurchaseBillDetailsVo implements Vo { private String purchaserSid; // 采购员sid(单选) @ApiModelProperty("采购员姓名") private String purchaserName; // 采购员姓名 - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @ApiModelProperty("预计到货日期") - private Date deliveryDate; // 预计到货日期 + private String deliveryDate; @ApiModelProperty("仓库sid") private String wareHouseSid; @ApiModelProperty("仓库名称") diff --git a/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillDto.java b/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillDto.java index d7a0d34..e4ac57e 100644 --- a/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillDto.java +++ b/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillDto.java @@ -30,6 +30,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.yxt.common.core.dto.Dto; import com.yxt.oms.biz.func.purchaseappendix.PurchaseAppendixUrl; import com.yxt.oms.biz.func.purchasebillamount.PurchaseBillAmountDto; +import com.yxt.oms.biz.func.purchasebillbatch.PurchaseBillBatchDto; import com.yxt.oms.biz.func.purchasebilldetail.PurchaseBillDetailDto; import com.yxt.oms.biz.func.purchasebillextend.PurchaseBillExtendDto; import io.swagger.annotations.ApiModel; @@ -79,9 +80,8 @@ public class PurchaseBillDto implements Dto { private String purchaserSid; // 采购员sid(单选) @ApiModelProperty("采购员姓名") private String purchaserName; // 采购员姓名 - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @ApiModelProperty("预计到货日期") - private Date deliveryDate; // 预计到货日期 + private String deliveryDate; @ApiModelProperty("仓库sid") private String wareHouseSid; @ApiModelProperty("仓库名称") @@ -103,6 +103,8 @@ public class PurchaseBillDto implements Dto { private PurchaseBillExtendDto purchaseBillExtend; @ApiModelProperty("采购单商品明细") private List purchaseBillDetailList; + @ApiModelProperty("采购商品扩展") + private List purchaseBillBatchList; @ApiModelProperty("附件") private List purchaseAppendixList; } \ No newline at end of file diff --git a/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillExVo.java b/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillExVo.java new file mode 100644 index 0000000..a0acd35 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillExVo.java @@ -0,0 +1,71 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.oms.biz.func.purchasebill; + +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.Date; + +@Data +@ApiModel(value = "采购单 视图数据对象", description = "采购单 视图数据对象") +public class PurchaseBillExVo implements Vo { + + private String sid; // sid + + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("业务日期") + private Date createTime; + @ApiModelProperty("单据编号") + private String billNo; + @ApiModelProperty("供应商名称") + private String supplierName; + @ApiModelProperty("采购员姓名") + private String purchaserName; + @ApiModelProperty("仓库名称") + private String wareHouseName; + @ApiModelProperty("审核状态") + private String state; + @ApiModelProperty("商品总额") + private String amountTotal; + @ApiModelProperty("本次付款") + private BigDecimal thisPayAmount; + @ApiModelProperty("税额汇总") + private BigDecimal taxAmount; + @ApiModelProperty("总采购数量") + private String countTotal; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("制单人姓名") + private String createByName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("最后修改时间") + private Date modifyTime; +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillMapper.xml b/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillMapper.xml index 57c54aa..431fffd 100644 --- a/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillMapper.xml +++ b/oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillMapper.xml @@ -5,7 +5,7 @@