From 55feb08407eda2423df30c0b0692f1d0b1f0e6cb Mon Sep 17 00:00:00 2001 From: Mrking <782276617@qq.com> Date: Sun, 20 Oct 2024 15:01:59 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=A1=B5=E9=9D=A2=E6=8E=92=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/customer/vo/CustomerSaveReqVO.java | 18 ++++++ .../dal/dataobject/customer/CustomerDO.java | 15 +++++ .../src/views/oms/customer/CustomerForm.vue | 56 +++++++++++++++---- .../components/CustomerAddressForm.vue | 2 +- 4 files changed, 80 insertions(+), 11 deletions(-) diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customer/vo/CustomerSaveReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customer/vo/CustomerSaveReqVO.java index 5ca029f..8be19ab 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customer/vo/CustomerSaveReqVO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customer/vo/CustomerSaveReqVO.java @@ -54,6 +54,24 @@ public class CustomerSaveReqVO { @Schema(description = "备注") private String remarks; + /** + * 发票抬头 + */ + @Schema(description = "发票抬头") + private String invoiceCode; + + /** + * 发票名称 + */ + @Schema(description = "发票名称") + private String invoiceName; + + /** + * 发票地址 + */ + @Schema(description = "发票地址") + private String invoiceAddress; + @Schema(description = "订单地址列表") private List customerAddresss; diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/customer/CustomerDO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/customer/CustomerDO.java index b90f744..a0019e6 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/customer/CustomerDO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/customer/CustomerDO.java @@ -79,6 +79,21 @@ public class CustomerDO extends BaseDO { * 备注 */ private String remarks; + + /** + * 发票抬头 + */ + private String invoiceCode; + + /** + * 发票名称 + */ + private String invoiceName; + + /** + * 发票地址 + */ + private String invoiceAddress; /** * 数据状态 * diff --git a/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/CustomerForm.vue b/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/CustomerForm.vue index 596f1f0..969fb4e 100644 --- a/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/CustomerForm.vue +++ b/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/CustomerForm.vue @@ -7,37 +7,66 @@ label-width="100px" v-loading="formLoading" > - -
- - 手动输入 -
-
- - - + + + +
+ + 手动输入 +
+
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + diff --git a/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/components/CustomerAddressForm.vue b/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/components/CustomerAddressForm.vue index 8a0f6d6..530b956 100644 --- a/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/components/CustomerAddressForm.vue +++ b/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/components/CustomerAddressForm.vue @@ -78,7 +78,7 @@ - + 添加用户地址 + + 添加客户地址 From e9a5400423fbbdaf10831a2389dbf14b47bf0924 Mon Sep 17 00:00:00 2001 From: Mrking <782276617@qq.com> Date: Sun, 20 Oct 2024 23:08:12 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=94=80=E5=94=AE?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=AE=A1=E6=A0=B8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oms/dal/dataobject/saleorderentry/SaleOrderEntryDO.java | 2 +- .../module/oms/service/saleorder/SaleOrderServiceImpl.java | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorderentry/SaleOrderEntryDO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorderentry/SaleOrderEntryDO.java index 260b4b7..4601653 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorderentry/SaleOrderEntryDO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorderentry/SaleOrderEntryDO.java @@ -34,7 +34,7 @@ public class SaleOrderEntryDO extends BaseDO { /** * 物料id */ - private Integer materialId; + private Long materialId; /** * 物料名称 */ diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java index 7334111..873b5a4 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java @@ -103,7 +103,6 @@ import static cn.hangtag.module.oms.enums.ErrorCodeConstants.SALE_ORDER_NOT_EXIS @AllArgsConstructor public class SaleOrderServiceImpl implements SaleOrderService { - private SaleOrderMapper saleOrderMapper; private SaleContractMapper saleContractMapper; private SaleOrderEntryMapper saleOrderEntryMapper; @@ -235,7 +234,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { @Override @Transactional(rollbackFor = Exception.class) public void updateSaleOrderBillStatus(List ids, String status){ - updateSaleOrderBillStatus(ids,status); + updateSaleOrderBillStatus(ids,status,null); } @Override @Transactional(rollbackFor = Exception.class) @@ -318,7 +317,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { message.setMail("wx782276617@foxmail.com"); message.setTitle("OMS订单系统"); message.setContent("您好,您的订单:"+saleOrder.getBillno()+",已审核通过!"); - mailSendService.doSendMail(message,new File(fileName)); + mailSendService.doSendMail(message,new File(pdfPath)); //mailSendService.doSendMail(message); } } From fd67533544e353e67f222fa77a486136e5d13f08 Mon Sep 17 00:00:00 2001 From: Mrking <782276617@qq.com> Date: Mon, 21 Oct 2024 00:04:13 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=94=80=E5=94=AE?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=AE=A1=E6=A0=B8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../saleorder/SaleOrderServiceImpl.java | 71 +++++++++++++------ .../service/mail/MailSendServiceImpl.java | 19 ++++- 2 files changed, 66 insertions(+), 24 deletions(-) diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java index 873b5a4..aa58eaa 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java @@ -66,12 +66,15 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.google.common.collect.Maps; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.thymeleaf.TemplateEngine; import org.thymeleaf.context.Context; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotNull; import java.io.File; @@ -81,10 +84,7 @@ import java.io.InputStream; import java.math.BigDecimal; import java.time.Duration; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -100,22 +100,45 @@ import static cn.hangtag.module.oms.enums.ErrorCodeConstants.SALE_ORDER_NOT_EXIS @Service @Validated @Slf4j -@AllArgsConstructor +//@AllArgsConstructor public class SaleOrderServiceImpl implements SaleOrderService { - + @Resource private SaleOrderMapper saleOrderMapper; + @Resource private SaleContractMapper saleContractMapper; + @Resource private SaleOrderEntryMapper saleOrderEntryMapper; + @Resource private SaleOrderSkuMapper skuOrderSkuMapper; + @Resource private ProduceOrderService produceOrderService; + @Resource private ProductInfoService productInfoService; + @Resource private SaleContractService saleContractService; + @Resource private CustomerService customerService; + @Resource private CustomerMapper customerMapper; + @Resource private ProductPriceService productPriceService; + + @Resource private TemplateEngine templateEngine; + @Resource private MailSendService mailSendService; - private MailAccountService mailAccountService; + + + @Value("${oms.partyb}") + private String partyb; + + @Value("${oms.partybAddress}") + private String partybAddress; + + @Value("${pdfPath}") + private String pdfPath; + + @Override @@ -303,7 +326,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { Long saleContractId = generateSaleContract(saleOrder,entrys); String htmlContent = generateHtmlContent(saleContractId); - String fileName = StrUtil.format("C:\\Users\\Admin\\Desktop\\1111111\\test\\test_{}", + String fileName = StrUtil.format(pdfPath+"\\销售合约_{}", new Date().getTime()); String templatePath = fileName + ".html"; @@ -312,13 +335,15 @@ public class SaleOrderServiceImpl implements SaleOrderService { WKHtmlToPdfUtil.convert(templatePath, pdfPath); //发送消息 - MailSendMessage message = new MailSendMessage(); - message.setAccountId(1L); - message.setMail("wx782276617@foxmail.com"); - message.setTitle("OMS订单系统"); - message.setContent("您好,您的订单:"+saleOrder.getBillno()+",已审核通过!"); - mailSendService.doSendMail(message,new File(pdfPath)); - //mailSendService.doSendMail(message); + String emails = saleOrder.getEmails(); + if(StringUtils.isNotBlank(emails)){ + MailSendMessage message = new MailSendMessage(); + message.setAccountId(1L); + message.setMail(emails); + message.setTitle("OMS订单系统"); + message.setContent("您好,您的订单:"+saleOrder.getBillno()+",已审核通过!"); + mailSendService.doSendMail(message,new File(pdfPath)); + } } } break; @@ -374,8 +399,8 @@ public class SaleOrderServiceImpl implements SaleOrderService { context.setVariable("bizDate", DateUtil.date(saleContract.getBizdate()).toDateStr()); context.setVariable("customerNo", customer.getNumber()); context.setVariable("headUserName", saleContract.getHead()); - context.setVariable("partyBCompany", "乙方公司"); - context.setVariable("partyBAddress", "乙方地址XXXXXXXXXXX"); + context.setVariable("partyBCompany", partyb); + context.setVariable("partyBAddress", partybAddress); context.setVariable("phone", saleContract.getPhone()); context.setVariable("fax", saleContract.getFax()); context.setVariable("clerk", saleContract.getClerk()); @@ -390,7 +415,10 @@ public class SaleOrderServiceImpl implements SaleOrderService { String code = productInfo.getCode(); String name = productInfo.getName(); String details = productInfo.getDetails(); - + Double specSizeHeight = productInfo.getSpecSizeHeight(); + Double specSizeWidth = productInfo.getSpecSizeWidth(); + Double specSizeThk = productInfo.getSpecSizeThk(); + String spec = specSizeHeight.doubleValue() + " * " + specSizeWidth + " " + specSizeThk; int j = i+1; context.setVariable("item"+j, j+""); context.setVariable("explain"+j, code); @@ -401,7 +429,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { context.setVariable("deliverydate"+j, DateUtil.date(saleContractEntryDO.getDeliveryDate()).toDateStr()); context.setVariable("explain"+j+"1", name); context.setVariable("explain"+j+"2", details); - context.setVariable("explain"+j+"3", ""); + context.setVariable("explain"+j+"3", spec); } return templateEngine.process("pdf_template", context); } @@ -741,12 +769,11 @@ public class SaleOrderServiceImpl implements SaleOrderService { saveReqVO.setCustomerName(customer.getName()); saveReqVO.setCustomerBuyNo(saleOrder.getBillno()); saveReqVO.setBizdate(saleOrder.getBizdate()); - saveReqVO.setPartyA("XXXXXXXXXXXXXXXXX"); - saveReqVO.setPartyB(customer.getCompany()); + saveReqVO.setPartyA(customer.getCompany()); saveReqVO.setHead(customer.getGdperson()); saveReqVO.setClerk(customer.getSaleperson()); saveReqVO.setPhone(customer.getPhone()); - saveReqVO.setFax(null); + saveReqVO.setFax(saleOrder.getFax()); saveReqVO.setAmount(saleOrder.getOrderAmount()); saveReqVO.setAddress(saleOrder.getDeliveryAddress()); diff --git a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/mail/MailSendServiceImpl.java b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/mail/MailSendServiceImpl.java index bf1a53c..bb0617f 100644 --- a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/mail/MailSendServiceImpl.java +++ b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/mail/MailSendServiceImpl.java @@ -14,11 +14,15 @@ import cn.hangtag.module.system.service.member.MemberService; import cn.hangtag.module.system.service.user.AdminUserService; import com.google.common.annotations.VisibleForTesting; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.Map; import static cn.hangtag.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -108,8 +112,19 @@ public class MailSendServiceImpl implements MailSendService { MailAccount mailAccount = buildMailAccount(account, message.getNickname()); // 2. 发送邮件 try { - String messageId = MailUtil.send(mailAccount, message.getMail(), - message.getTitle(), message.getContent(), true,files); + String messageId = null; + List mails = new ArrayList<>(); + String mail = message.getMail(); + if(StringUtils.isNotBlank(mail) && mail.contains(";")){ + mails = Arrays.asList(mail.split(";")); + } + if(mails!=null && mails.size()>0){ + messageId = MailUtil.send(mailAccount, mails, + message.getTitle(), message.getContent(), true,files); + }else { + messageId = MailUtil.send(mailAccount, message.getMail(), + message.getTitle(), message.getContent(), true,files); + } // 3. 更新结果(成功) mailLogService.updateMailSendResult(message.getLogId(), messageId, null); } catch (Exception e) { From 476860c434239a127e939334a6a34dc01e9f67f8 Mon Sep 17 00:00:00 2001 From: Mrking <782276617@qq.com> Date: Tue, 22 Oct 2024 22:27:48 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E5=88=B6=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/oms/enums/CodeRuleIDConstants.java | 21 ++ .../oms/enums/common/BillStatusEnum.java | 5 +- .../produceorder/vo/ProduceOrderRespVO.java | 15 + .../vo/ProduceOrderSaveReqVO.java | 8 +- .../produceorder/ProduceOrderDO.java | 4 + .../dal/dataobject/saleorder/SaleOrderDO.java | 11 - .../saleordersku/SaleOrderSkuMapper.java | 7 + .../produceorder/ProduceOrderServiceImpl.java | 3 +- .../service/saleorder/SaleOrderService.java | 3 + .../saleorder/SaleOrderServiceImpl.java | 77 ++-- .../src/ProductInfoListDialog/index.vue | 51 +-- .../oms/produceorder/ProduceOrderForm.vue | 107 ++++-- .../src/views/oms/produceorder/index.vue | 27 +- .../src/views/oms/produceorder/template1.js | 328 ++++++++++++------ 14 files changed, 480 insertions(+), 187 deletions(-) create mode 100644 hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/CodeRuleIDConstants.java diff --git a/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/CodeRuleIDConstants.java b/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/CodeRuleIDConstants.java new file mode 100644 index 0000000..9732ccd --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/CodeRuleIDConstants.java @@ -0,0 +1,21 @@ +package cn.hangtag.module.oms.enums; + +public interface CodeRuleIDConstants { + /** + * 客户 + */ + Long KH = 5L; + /** + * 销售订单 + */ + Long XSDD = 6L; + /** + * 销售合约 + */ + Long XSHY = 7L; + /** + * 生产制单 + */ + Long SCZD = 8L; + +} diff --git a/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/common/BillStatusEnum.java b/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/common/BillStatusEnum.java index ae38444..feb3012 100644 --- a/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/common/BillStatusEnum.java +++ b/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/common/BillStatusEnum.java @@ -11,13 +11,14 @@ import lombok.Getter; @AllArgsConstructor public enum BillStatusEnum { //订单状态:已下单、生产中、已完成 - //单据状态:暂存、已提交、已审核 + //单据状态:暂存、已提交、已审核、已排产 REJECT("AA", "驳回"), SAVE("A", "暂存"), SUBMIT("B", "已提交"), AUDIT("C", "已审核"), - INVALID("D", "作废"); + INVALID("D", "作废"), + YPLAN("E", "已排产"); /** * 状态 diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/produceorder/vo/ProduceOrderRespVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/produceorder/vo/ProduceOrderRespVO.java index bb52129..f49229e 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/produceorder/vo/ProduceOrderRespVO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/produceorder/vo/ProduceOrderRespVO.java @@ -28,6 +28,9 @@ public class ProduceOrderRespVO { @ExcelProperty("客户编号") private String customerCode; + @Schema(description = "产品ID", example = "11111") + private Long productId; + @Schema(description = "产品编号", example = "11111") @ExcelProperty("产品编号") private String productCode; @@ -92,4 +95,16 @@ public class ProduceOrderRespVO { @ExcelProperty("交货数量") private Long deliveryQty; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "更新时间") + @ExcelProperty("更新时间") + private LocalDateTime updateTime; + + @Schema(description = "详情") + private String details; + } \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/produceorder/vo/ProduceOrderSaveReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/produceorder/vo/ProduceOrderSaveReqVO.java index ddc0848..4caf9f8 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/produceorder/vo/ProduceOrderSaveReqVO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/produceorder/vo/ProduceOrderSaveReqVO.java @@ -20,6 +20,9 @@ public class ProduceOrderSaveReqVO { @Schema(description = "订单号") private String orderNo; + @Schema(description = "客户ID") + private Long customerId; + @Schema(description = "客户编号") private String customerCode; @@ -47,7 +50,7 @@ public class ProduceOrderSaveReqVO { @Schema(description = "交货地点") private String deliveryPlace; - @Schema(description = "职员") + @Schema(description = "职员") private String clerk; @Schema(description = "报告日期") @@ -74,4 +77,7 @@ public class ProduceOrderSaveReqVO { @Schema(description = "交货数量") private Long deliveryQty; + @Schema(description = "详情") + private String details; + } \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/produceorder/ProduceOrderDO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/produceorder/ProduceOrderDO.java index cfd840e..8aca8f2 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/produceorder/ProduceOrderDO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/produceorder/ProduceOrderDO.java @@ -116,5 +116,9 @@ public class ProduceOrderDO extends BaseDO { * 交货数量 */ private Long deliveryQty; + /** + * 详情 + */ + private String details; } \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorder/SaleOrderDO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorder/SaleOrderDO.java index d5c1d6a..2d42fe0 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorder/SaleOrderDO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorder/SaleOrderDO.java @@ -94,17 +94,14 @@ public class SaleOrderDO extends BaseDO { * 发票名称 */ private String invoiceName; - /** * 发票地址 */ private String invoiceAddress; - /** * 发票备注 */ private String invoiceRemarks; - /** * 地址 */ @@ -113,7 +110,6 @@ public class SaleOrderDO extends BaseDO { * 货币 */ private String currency; - /** * 驳回原因 */ @@ -126,7 +122,6 @@ public class SaleOrderDO extends BaseDO { * 审核时间 */ private LocalDateTime auditorTime; - /** * 订单号 */ @@ -147,24 +142,18 @@ public class SaleOrderDO extends BaseDO { * 零售商单号 */ private String retailerCode; - - - /** * 品牌id */ private Integer brandId; - /** * 是否分批交货 分批交货以明细表中的交货日期为准 */ private Boolean isBatch; - /** * 交货地址 */ private String deliveryAddress; - /** * 交货备注 */ diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/saleordersku/SaleOrderSkuMapper.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/saleordersku/SaleOrderSkuMapper.java index 65f6383..a535c73 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/saleordersku/SaleOrderSkuMapper.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/saleordersku/SaleOrderSkuMapper.java @@ -39,4 +39,11 @@ public interface SaleOrderSkuMapper extends BaseMapperX { .orderByDesc(SaleOrderSkuDO::getId)); } + default List selectListByEntryId(Long entryId) { + return selectList(SaleOrderSkuDO::getEntryId, entryId); + } + + default int deleteByEntryId(Long entryId) { + return delete(SaleOrderSkuDO::getEntryId, entryId); + } } \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/produceorder/ProduceOrderServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/produceorder/ProduceOrderServiceImpl.java index 0c63d5d..5938106 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/produceorder/ProduceOrderServiceImpl.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/produceorder/ProduceOrderServiceImpl.java @@ -6,6 +6,7 @@ import cn.hangtag.framework.common.util.FuncUtil; import cn.hangtag.framework.common.util.validation.ValidationUtils; import cn.hangtag.framework.mybatis.core.dataobject.BaseDO; import cn.hangtag.module.oms.dal.dataobject.saleorder.SaleOrderDO; +import cn.hangtag.module.oms.enums.CodeRuleIDConstants; import cn.hangtag.module.oms.serialnumber.CodingRulesUtils; import cn.hangtag.module.system.controller.admin.user.vo.user.UserImportRespVO; import cn.hangtag.module.system.controller.admin.user.vo.user.UserSaveReqVO; @@ -140,7 +141,7 @@ public class ProduceOrderServiceImpl implements ProduceOrderService { while (true){ count --; try { - s = CodingRulesUtils.generateCode(5L, false); + s = CodingRulesUtils.generateCode(CodeRuleIDConstants.SCZD, false); checkCode(null,s); return s; }catch (ServiceException e){ diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderService.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderService.java index 0e7be11..0a3d622 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderService.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderService.java @@ -14,6 +14,7 @@ import cn.hangtag.module.oms.controller.admin.trade.vo.TradeOrderTrendRespVO; import cn.hangtag.module.oms.dal.dataobject.saleorder.SaleOrderDO; import cn.hangtag.module.oms.dal.dataobject.saleorderentry.SaleOrderEntryDO; import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.module.oms.dal.dataobject.saleordersku.SaleOrderSkuDO; /** * 销售订单 Service 接口 @@ -109,4 +110,6 @@ public interface SaleOrderService { public String getNewOrderCode(); public String getNewOrderCode2(); + + List getSaleOrderSkuEntryListByEntryId(Long entryId); } \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java index aa58eaa..0999ae7 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java @@ -308,7 +308,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { } saleOrder.setBillStatus(BillStatusEnum.AUDIT.getValue()); - saleOrder.setOrderStatus(SaleOrderStatusEnum.YWC.getValue()); + saleOrder.setOrderStatus(SaleOrderStatusEnum.SCZ.getValue()); Long userId = SecurityFrameworkUtils.getLoginUserId(); saleOrder.setAuditor(userId.toString()); saleOrder.setAuditorTime(LocalDateTime.now()); @@ -363,27 +363,56 @@ public class SaleOrderServiceImpl implements SaleOrderService { } @Override + @Transactional(rollbackFor = Exception.class) public void generateProduceOrder(List ids) { List saleOrders = saleOrderMapper.selectList(SaleOrderDO::getId, ids); for (SaleOrderDO saleOrder : saleOrders) { - ProduceOrderSaveReqVO saveReqVO = new ProduceOrderSaveReqVO(); - saveReqVO.setOrderNo(saleOrder.getBillno()); - saveReqVO.setCustomerCode("客户编号"); - saveReqVO.setProductId(0L); - saveReqVO.setProduceLine("测试线"); - saveReqVO.setDeliveryMethod("交货方式"); - saveReqVO.setDeliveryQty(1111111L); - saveReqVO.setDays(5L); - saveReqVO.setClerk("职员"); - saveReqVO.setContractDate(LocalDateTime.now() ); - Long produceOrderId = produceOrderService.createProduceOrder(saveReqVO); + CustomerDO customer = customerService.getCustomer(saleOrder.getCustomerId()); + List entrys = getSaleOrderEntryListByParentId(saleOrder.getId()); + + for (SaleOrderEntryDO entry : entrys) { + List saleOrderSkuDO = getSaleOrderSkuEntryListByEntryId(entry.getId()); + ProductInfoDO productInfo = productInfoService.getProductInfo(entry.getMaterialId()); + ProduceOrderSaveReqVO saveReqVO = new ProduceOrderSaveReqVO(); + saveReqVO.setOrderNo(saleOrder.getBillno()); + saveReqVO.setSaleContractNo(saleOrder.getBillno()); + saveReqVO.setCustomerId(customer.getId()); + saveReqVO.setCustomerCode(customer.getNumber()); + saveReqVO.setProductId(entry.getMaterialId()); + saveReqVO.setProductCode(productInfo.getCode()); + saveReqVO.setProductName(productInfo.getName()); + saveReqVO.setProduceLine(""); + saveReqVO.setDeliveryMethod("全部"); + saveReqVO.setDeliveryQty(Long.valueOf(entry.getQty())); + saveReqVO.setContractQty(Long.valueOf(entry.getQty())); + saveReqVO.setProduceQty(Long.valueOf(entry.getQty())); + saveReqVO.setDays(1L); + saveReqVO.setClerk(customer.getSaleperson()); + saveReqVO.setContractDate(LocalDateTime.now()); + saveReqVO.setReportDate(LocalDateTime.now()); + saveReqVO.setProduceDate(LocalDateTime.now()); + saveReqVO.setInspectionDate(LocalDateTime.now()); + saveReqVO.setDeliverydate(LocalDateTime.now()); + + Double specSizeWidth = productInfo.getSpecSizeWidth(); + Double specSizeHeight = productInfo.getSpecSizeHeight(); + Double specSizeThk = productInfo.getSpecSizeThk(); + String specMaterial = productInfo.getSpecMaterial(); + StringBuffer str = new StringBuffer(); + str.append(String.format("货名:%s\r\n",productInfo.getName())); + str.append(String.format("规格:%s × %s \r\n",specSizeWidth,specSizeHeight)); + str.append(String.format("纸质:%s × %s \r\n",specMaterial)); + saveReqVO.setDetails(str.toString()); + Long produceOrderId = produceOrderService.createProduceOrder(saveReqVO); + } + //更新销售订单已完成 - /*if(produceOrderId!=null){ - SaleOrderSaveReqVO saleOrderSaveReqVO = new SaleOrderSaveReqVO(); - saleOrderSaveReqVO.setId(saleOrder.getId()); - saleOrderSaveReqVO.setOrderStatus(SaleOrderStatusEnum.YWC.getValue()); - updateSaleOrder(saleOrderSaveReqVO); - }*/ + //if(produceOrderId!=null){ + SaleOrderDO saleOrderDO = new SaleOrderDO(); + saleOrderDO.setId(saleOrder.getId()); + saleOrderDO.setOrderStatus(SaleOrderStatusEnum.YWC.getValue()); + saleOrderMapper.updateById(saleOrderDO); + //} } } @@ -418,7 +447,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { Double specSizeHeight = productInfo.getSpecSizeHeight(); Double specSizeWidth = productInfo.getSpecSizeWidth(); Double specSizeThk = productInfo.getSpecSizeThk(); - String spec = specSizeHeight.doubleValue() + " * " + specSizeWidth + " " + specSizeThk; + String spec = specSizeWidth.doubleValue()+ " * " + specSizeHeight.doubleValue() + " " + specSizeThk.doubleValue(); int j = i+1; context.setVariable("item"+j, j+""); context.setVariable("explain"+j, code); @@ -723,10 +752,10 @@ public class SaleOrderServiceImpl implements SaleOrderService { } saleOrderEntryMapper.insertBatch(list); //更新总金额 - /*SaleOrderDO saleOrderDO = new SaleOrderDO(); + SaleOrderDO saleOrderDO = new SaleOrderDO(); saleOrderDO.setId(parentId); saleOrderDO.setOrderAmount(amount); - saleOrderMapper.updateById(saleOrderDO);*/ + saleOrderMapper.updateById(saleOrderDO); } private void updateSaleOrderEntryList(Long parentId, List list) { @@ -795,4 +824,10 @@ public class SaleOrderServiceImpl implements SaleOrderService { saveReqVO.setSaleContractEntrys(list); return saleContractService.createSaleContract(saveReqVO); } + + + @Override + public List getSaleOrderSkuEntryListByEntryId(Long entryId) { + return skuOrderSkuMapper.selectListByEntryId(entryId); + } } \ No newline at end of file diff --git a/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/ProductInfoListDialog/index.vue b/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/ProductInfoListDialog/index.vue index 035650e..385e811 100644 --- a/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/ProductInfoListDialog/index.vue +++ b/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/ProductInfoListDialog/index.vue @@ -108,7 +108,7 @@ const dialogTitle = ref('产品列表') // 弹窗的标题 const props = defineProps({ modelValue: { - type: String, + type: [String,Number], required: true }, dataKey: { @@ -153,7 +153,12 @@ const that = reactive({ showValue: '', visible: false, }) - +const toStr = (data: any, def = '') => { + if (data !== null && data !== undefined) { + return `${data}` + } + return def +} const openDialog = () => { updateVisible(true); } @@ -164,24 +169,6 @@ const viewDetails = () => { openDialog(); } } -// 用监听属性变化无其他意义 -const tmp = computed(()=>{ - setTimeout(()=>{ - that.inputVal = toStr(props.modelValue,that.inputVal) - if (that.inputVal) { - initInput(); - } - },100) - return '' -},{ - deep: true -}) -const toStr = (data: any) => { - if (data !== null && data !== undefined) { - return `${data}` - } - return data -} let map = new Map(); const initInput = async () => { const dataKey = that.inputVal + ',' + props.dataKey + ',' + props.showKey + ',' + props.multiple; @@ -199,7 +186,7 @@ const initInput = async () => { let tmpInput = []; let tmpShow = []; for (let i = 0; i < ids.length; i++) { - const data = await BrandApi.getBrand(ids[i]) + const data = await ProductInfoApi.getProductInfo(ids[i]) tmpInput.push(data[props.dataKey]); tmpShow.push(data[props.showKey]); } @@ -212,7 +199,29 @@ const initInput = async () => { } watch(() => props.visible, (newVal) => { that.visible = newVal; + }) + +watch(() => props.modelValue, (newVal)=>{ + that.inputVal = toStr(newVal,'') + if (that.inputVal) { + initInput(); + } +},{ + immediate: true +}) +// 用监听属性变化无其他意义 +const tmp = computed(()=>{ + setTimeout(()=>{ + that.inputVal = toStr(props.modelValue,that.inputVal) + if (that.inputVal) { + initInput(); + } + },100) + return '' +},{deep: true}) + + const clearData = () => { that.inputVal = ''; that.showValue = ''; diff --git a/hangtag-ui/hangtag-ui-admin/src/views/oms/produceorder/ProduceOrderForm.vue b/hangtag-ui/hangtag-ui-admin/src/views/oms/produceorder/ProduceOrderForm.vue index ea182e1..12648b5 100644 --- a/hangtag-ui/hangtag-ui-admin/src/views/oms/produceorder/ProduceOrderForm.vue +++ b/hangtag-ui/hangtag-ui-admin/src/views/oms/produceorder/ProduceOrderForm.vue @@ -7,27 +7,43 @@ label-width="100px" v-loading="formLoading" > + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +