diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java index 4fcf20d..8d5489d 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java @@ -15,6 +15,7 @@ import com.ktg.common.core.page.TableDataInfo; import com.ktg.common.utils.StringUtils; import com.ktg.mes.md.domain.MdItem; import com.ktg.mes.md.domain.MdProductBom; +import com.ktg.mes.md.service.IMdItemService; import com.ktg.mes.md.service.IMdProductBomService; import com.ktg.mes.pro.domain.ProMachineryJob; import com.ktg.mes.pro.domain.ProTask; @@ -78,6 +79,9 @@ public class ProWorkorderController extends BaseController @Resource private ISaleOrderInfoService saleOrderInfoService; + @Resource + private IMdItemService mdItemService; + /** * 查询生产工单列表 */ @@ -162,6 +166,14 @@ public class ProWorkorderController extends BaseController public AjaxResult edit(@RequestBody ProWorkorder proWorkorder) { ProWorkorder workorder = proWorkorderService.selectProWorkorderByWorkorderId(proWorkorder.getWorkorderId()); + //如果修改产品编码,就判断一下只能修改同类的产品,且后续小程序的数据也跟着变化 + if (!workorder.getProductId().equals(proWorkorder.getProductId())){ + MdItem savedItem = mdItemService.selectMdItemById(workorder.getProductId()); + MdItem newItem = mdItemService.selectMdItemById(proWorkorder.getProductId()); + if (!savedItem.getItemCode().equals(newItem.getItemCode())){ + return AjaxResult.error("修改产品时,只能修改同类产品"); + } + } int ret =proWorkorderService.updateProWorkorder(proWorkorder); //如果是产品和数量发生变化则需要重新生成BOM组成 if(ret >0){ diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProMachineryJob.java b/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProMachineryJob.java index 9a7565a..ede5dea 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProMachineryJob.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProMachineryJob.java @@ -60,7 +60,7 @@ public class ProMachineryJob { private Date endTime; /** - * 作业状态(WORKING 进行中,FINISHED 已完成) + * 作业状态(WORKING 进行中,FINISHED 已完成,CANCEL 已撤销) */ private String jobStatus; diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/dto/ProMachineryJobQueryPage.java b/ktg-mes/src/main/java/com/ktg/mes/pro/dto/ProMachineryJobQueryPage.java index c2899f5..bd856c5 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/dto/ProMachineryJobQueryPage.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/dto/ProMachineryJobQueryPage.java @@ -2,6 +2,8 @@ package com.ktg.mes.pro.dto; import lombok.Data; +import java.util.Date; + /** * 设备生产记录-分页查询对象 * @@ -50,4 +52,8 @@ public class ProMachineryJobQueryPage { * 生产状态 */ private String jobStatus; + + private Date startTime; + + private Date endTime; } diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProMachineryJobService.java b/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProMachineryJobService.java index a3880c9..564523c 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProMachineryJobService.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProMachineryJobService.java @@ -37,6 +37,8 @@ public interface IProMachineryJobService extends IService { Long jl(ProJLRequest req, SysUser currentUser); + int cancel(Long jobId, SysUser currentUser); + Long khsw(ProKHSWRequest req, SysUser currentUser); void startJb(ProJBRequest req, SysUser currentUser); diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProMachineryJobServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProMachineryJobServiceImpl.java index cd63ae7..33cbbd8 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProMachineryJobServiceImpl.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProMachineryJobServiceImpl.java @@ -167,6 +167,28 @@ public class ProMachineryJobServiceImpl extends ServiceImpl 0) { + // 修改设备状态、设备生产工单id + DvMachinery dvMachineryUpdate = new DvMachinery(); + dvMachineryUpdate.setMachineryId(job.getMachineryId()); + dvMachineryUpdate.setMachineryJobId(0L); + dvMachineryUpdate.setStatus("STOP"); + machineryMapper.updateDvMachinery(dvMachineryUpdate); + } + return result; + } + @Override @Transactional(rollbackFor = Exception.class) public Long khsw(ProKHSWRequest req, SysUser currentUser) { diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProMeterialConsumeServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProMeterialConsumeServiceImpl.java index 4ab60d1..67f04b8 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProMeterialConsumeServiceImpl.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProMeterialConsumeServiceImpl.java @@ -6,8 +6,13 @@ import com.ktg.mes.pro.domain.ProMeterialConsume; import com.ktg.mes.pro.dto.ProMeterialConsumeDto; import com.ktg.mes.pro.mapper.ProMeterialConsumeMapper; import com.ktg.mes.pro.service.IProMeterialConsumeService; +import com.ktg.mes.pro.service.IProMonthReportService; +import com.ktg.mes.pro.service.IProYearReportService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.time.Year; +import java.time.YearMonth; import java.util.List; /** @@ -19,6 +24,11 @@ import java.util.List; @Service public class ProMeterialConsumeServiceImpl extends ServiceImpl implements IProMeterialConsumeService { + @Autowired + private IProMonthReportService proMonthReportService; + @Autowired + private IProYearReportService proYearReportService; + @Override public List getPageList(ProMeterialConsume proMeterialConsume) { return this.getBaseMapper().getPageList(proMeterialConsume); @@ -37,5 +47,8 @@ public class ProMeterialConsumeServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(ProMonthReport::getReportMonth, lastMonth); - ProMonthReport lastMonthReport = this.getOne(queryWrapper); - - if (lastMonthReport == null) { - proMonthReport.setMachineShopPower(obj.getMachinePower()); - } - if (lastMonthReport != null && lastMonthReport.getMachinePower().compareTo(BigDecimal.ZERO) != 0) { - BigDecimal machinePower = obj.getMachinePower().subtract(lastMonthReport.getMachinePower()).multiply(new BigDecimal(400)); - proMonthReport.setMachineShopPower(machinePower); - } + // 机修房电消耗 每月进行一次抄表,计算公式=(上一月抄表数-当月抄表数)*400 0821 去掉这个需求,直接写入获取的字段 +// Date previousMonth = DateUtils.addMonths(DateUtils.parseDate(proMonthReport.getReportMonth()), -1); +// String lastMonth = DateUtils.parseDateToStr(DateUtils.YYYY_MM, previousMonth); +// +// LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); +// queryWrapper.eq(ProMonthReport::getReportMonth, lastMonth); +// ProMonthReport lastMonthReport = this.getOne(queryWrapper); +// +// if (lastMonthReport == null) { +// proMonthReport.setMachineShopPower(obj.getMachinePower()); +// } +// if (lastMonthReport != null && lastMonthReport.getMachinePower().compareTo(BigDecimal.ZERO) != 0) { +// BigDecimal machinePower = obj.getMachinePower().subtract(lastMonthReport.getMachinePower()).multiply(new BigDecimal(400)); +// proMonthReport.setMachineShopPower(machinePower); +// } + proMonthReport.setMachineShopPower(obj.getMachinePower()); // 吨/度=当月(南北电消耗+机修房电消耗)/成品 BigDecimal power = proMonthReport.getPower().add(proMonthReport.getMachineShopPower()); BigDecimal powerProduce = proMonthReport.getProductQuantity().divide(power, 4, BigDecimal.ROUND_HALF_UP); diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/task/ProConsumeTask.java b/ktg-mes/src/main/java/com/ktg/mes/pro/task/ProConsumeTask.java index fcb60d1..dc6fc82 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/task/ProConsumeTask.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/task/ProConsumeTask.java @@ -47,6 +47,7 @@ public class ProConsumeTask { // 任务处理入口(每日0点生成当天记录) @Scheduled(cron = "1 0 0 * * ?") +// @Scheduled(cron = "* 0/1 * * * ?") public void run() { Date now = DateUtils.getNowDate(); genPower(now); diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/vo/req/ProJLRequest.java b/ktg-mes/src/main/java/com/ktg/mes/pro/vo/req/ProJLRequest.java index 31162b4..3bc2229 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/vo/req/ProJLRequest.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/vo/req/ProJLRequest.java @@ -34,6 +34,6 @@ public class ProJLRequest { private BigDecimal saAux; - @NotNull(message = "天然气表数不能为空") + //@NotNull(message = "天然气表数不能为空") private BigDecimal gas; } diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/vo/req/ProZJRequest.java b/ktg-mes/src/main/java/com/ktg/mes/pro/vo/req/ProZJRequest.java index 4d6e7cd..3c9f691 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/vo/req/ProZJRequest.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/vo/req/ProZJRequest.java @@ -12,6 +12,6 @@ import java.math.BigDecimal; @Data public class ProZJRequest extends ProQYHYRequest { - @NotNull(message = "天然气表数不能为空") + //@NotNull(message = "天然气表数不能为空") private BigDecimal gas; } diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/vo/res/ProWorkorderResponse.java b/ktg-mes/src/main/java/com/ktg/mes/pro/vo/res/ProWorkorderResponse.java index bc41f1a..46e5045 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/vo/res/ProWorkorderResponse.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/vo/res/ProWorkorderResponse.java @@ -1,5 +1,6 @@ package com.ktg.mes.pro.vo.res; +import com.ktg.common.annotation.Excel; import lombok.Data; import java.io.Serializable; @@ -40,4 +41,14 @@ public class ProWorkorderResponse implements Serializable { */ private String remark; + /** + * 规格型号 + */ + private String productSpc; + + /** + * 炉号 + */ + private String machineryNo; + } diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/controller/WmIssueHeaderController.java b/ktg-mes/src/main/java/com/ktg/mes/wm/controller/WmIssueHeaderController.java index 36c3448..501a88a 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/wm/controller/WmIssueHeaderController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/controller/WmIssueHeaderController.java @@ -22,6 +22,7 @@ import com.ktg.mes.wm.service.IWmIssueLineService; import com.ktg.mes.wm.service.IWmStorageAreaService; import com.ktg.mes.wm.service.IWmStorageLocationService; import com.ktg.mes.wm.service.IWmWarehouseService; +import com.ktg.mes.wm.vo.WmIssueHeaderExportVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; @@ -85,8 +86,8 @@ public class WmIssueHeaderController extends BaseController @PostMapping("/export") public void export(HttpServletResponse response, WmIssueHeader wmIssueHeader) { - List list = wmIssueHeaderService.selectWmIssueHeaderList(wmIssueHeader); - ExcelUtil util = new ExcelUtil(WmIssueHeader.class); + List list = wmIssueHeaderService.selectWmIssueHeaderListForExport(wmIssueHeader); + ExcelUtil util = new ExcelUtil(WmIssueHeaderExportVo.class); util.exportExcel(response, list, "生产领料数据"); } diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmItemRecpt.java b/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmItemRecpt.java index 0105a0c..aa68e8e 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmItemRecpt.java +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmItemRecpt.java @@ -1,11 +1,13 @@ package com.ktg.mes.wm.domain; +import java.math.BigDecimal; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ktg.common.annotation.Excel; import com.ktg.common.core.domain.BaseEntity; +import org.springframework.data.annotation.Transient; /** * 物料入库单对象 wm_item_recpt @@ -119,6 +121,20 @@ public class WmItemRecpt extends BaseEntity /** 预留字段4 */ private Long attr4; + @Transient + private String itemCode; + + /** 产品物料名称 */ + @Transient + private String itemName; + + /** 规格型号 */ + @Transient + private String specification; + + @Transient + private BigDecimal quantityRecived; + public void setRecptId(Long recptId) { this.recptId = recptId; @@ -353,6 +369,38 @@ public class WmItemRecpt extends BaseEntity this.cancelRemark = cancelRemark; } + public String getItemCode() { + return itemCode; + } + + public void setItemCode(String itemCode) { + this.itemCode = itemCode; + } + + public String getItemName() { + return itemName; + } + + public void setItemName(String itemName) { + this.itemName = itemName; + } + + public String getSpecification() { + return specification; + } + + public void setSpecification(String specification) { + this.specification = specification; + } + + public BigDecimal getQuantityRecived() { + return quantityRecived; + } + + public void setQuantityRecived(BigDecimal quantityRecived) { + this.quantityRecived = quantityRecived; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmProductSalse.java b/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmProductSalse.java index 52703c1..1f18f6b 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmProductSalse.java +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmProductSalse.java @@ -127,6 +127,23 @@ public class WmProductSalse extends BaseEntity @Transient private BigDecimal sumQuantity; + @Transient + private String itemName; + + @Transient + private String specification; + + /** + * 发货日期 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date sendDate; + + /** + * 发货车号 + */ + private String sendCarCode; + public void setSalseId(Long salseId) { this.salseId = salseId; @@ -369,6 +386,38 @@ public class WmProductSalse extends BaseEntity this.cancelRemark = cancelRemark; } + public String getItemName() { + return itemName; + } + + public void setItemName(String itemName) { + this.itemName = itemName; + } + + public String getSpecification() { + return specification; + } + + public void setSpecification(String specification) { + this.specification = specification; + } + + public Date getSendDate() { + return sendDate; + } + + public void setSendDate(Date sendDate) { + this.sendDate = sendDate; + } + + public String getSendCarCode() { + return sendCarCode; + } + + public void setSendCarCode(String sendCarCode) { + this.sendCarCode = sendCarCode; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/mapper/WmIssueHeaderMapper.java b/ktg-mes/src/main/java/com/ktg/mes/wm/mapper/WmIssueHeaderMapper.java index d1ac74a..79d7348 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/wm/mapper/WmIssueHeaderMapper.java +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/mapper/WmIssueHeaderMapper.java @@ -4,6 +4,7 @@ import java.util.Date; import java.util.List; import com.ktg.mes.wm.domain.WmIssueHeader; import com.ktg.mes.wm.domain.tx.IssueTxBean; +import com.ktg.mes.wm.vo.WmIssueHeaderExportVo; import org.apache.ibatis.annotations.Param; /** @@ -30,6 +31,9 @@ public interface WmIssueHeaderMapper */ public List selectWmIssueHeaderList(WmIssueHeader wmIssueHeader); + + public List selectWmIssueHeaderListForExport(WmIssueHeader wmIssueHeader); + /** * 检查生产领料单编号是否唯一 * @param wmIssueHeader diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/service/IWmIssueHeaderService.java b/ktg-mes/src/main/java/com/ktg/mes/wm/service/IWmIssueHeaderService.java index 2193407..3814c0f 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/wm/service/IWmIssueHeaderService.java +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/service/IWmIssueHeaderService.java @@ -3,6 +3,7 @@ package com.ktg.mes.wm.service; import java.util.List; import com.ktg.mes.wm.domain.WmIssueHeader; import com.ktg.mes.wm.domain.tx.IssueTxBean; +import com.ktg.mes.wm.vo.WmIssueHeaderExportVo; /** * 生产领料单头Service接口 @@ -28,6 +29,13 @@ public interface IWmIssueHeaderService */ public List selectWmIssueHeaderList(WmIssueHeader wmIssueHeader); + /** + * 生产领料导出 + * @param wmIssueHeader + * @return + */ + public List selectWmIssueHeaderListForExport(WmIssueHeader wmIssueHeader); + /** * 检查生产领料单编号是否唯一 * @param wmIssueHeader diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmIssueHeaderServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmIssueHeaderServiceImpl.java index 3ae34c9..55eb311 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmIssueHeaderServiceImpl.java +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmIssueHeaderServiceImpl.java @@ -6,6 +6,7 @@ import com.ktg.common.constant.UserConstants; import com.ktg.common.utils.DateUtils; import com.ktg.common.utils.StringUtils; import com.ktg.mes.wm.domain.tx.IssueTxBean; +import com.ktg.mes.wm.vo.WmIssueHeaderExportVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ktg.mes.wm.mapper.WmIssueHeaderMapper; @@ -48,6 +49,12 @@ public class WmIssueHeaderServiceImpl implements IWmIssueHeaderService return wmIssueHeaderMapper.selectWmIssueHeaderList(wmIssueHeader); } + @Override + public List selectWmIssueHeaderListForExport(WmIssueHeader wmIssueHeader) + { + return wmIssueHeaderMapper.selectWmIssueHeaderListForExport(wmIssueHeader); + } + @Override public String checkIssueCodeUnique(WmIssueHeader wmIssueHeader) { WmIssueHeader header = wmIssueHeaderMapper.checkIssueCodeUnique(wmIssueHeader); diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/vo/WmIssueHeaderExportVo.java b/ktg-mes/src/main/java/com/ktg/mes/wm/vo/WmIssueHeaderExportVo.java new file mode 100644 index 0000000..2795b37 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/vo/WmIssueHeaderExportVo.java @@ -0,0 +1,40 @@ +package com.ktg.mes.wm.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ktg.common.annotation.Excel; +import com.ktg.common.core.domain.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 生产领料单头对象 wm_issue_header + * + * @author yinjinlu + * @date 2022-07-14 + */ +@Data +public class WmIssueHeaderExportVo +{ + /** 领料日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "领料日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date issueDate; + + /** 产品物料编码 */ + @Excel(name = "产品物料编码") + private String itemCode; + + /** 产品物料名称 */ + @Excel(name = "产品物料名称") + private String itemName; + + /** 规格型号 */ + @Excel(name = "规格型号") + private String specification; + + /** 领料数量 */ + @Excel(name = "领料数量") + private BigDecimal quantityIssued; +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/vo/WmProductRecptExportVO.java b/ktg-mes/src/main/java/com/ktg/mes/wm/vo/WmProductRecptExportVO.java index 6e2c2ec..4dab26c 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/wm/vo/WmProductRecptExportVO.java +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/vo/WmProductRecptExportVO.java @@ -70,7 +70,7 @@ public class WmProductRecptExportVO { /** * 重量 */ - @Excel(name = "重量") + @Excel(name = "总重量") private BigDecimal quantityRecived; /** @@ -79,23 +79,6 @@ public class WmProductRecptExportVO { @Excel(name = "单位") private String unitOfMeasure; - /** - * 出库日期 - */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "出库日期", width = 30, dateFormat = "yyyy-MM-dd") - private Date salseDate; - - /** - * 客户名称 - */ - @Excel(name = "客户名称") - private String clientName; - - /** - * 退货日期 - */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "退货日期", width = 30, dateFormat = "yyyy-MM-dd") - private Date rtDate; + @Excel(name = "备注") + private String remark; } diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/vo/WmProductSalseExportVO.java b/ktg-mes/src/main/java/com/ktg/mes/wm/vo/WmProductSalseExportVO.java index d443c41..2a84e6e 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/wm/vo/WmProductSalseExportVO.java +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/vo/WmProductSalseExportVO.java @@ -3,6 +3,7 @@ package com.ktg.mes.wm.vo; import com.fasterxml.jackson.annotation.JsonFormat; import com.ktg.common.annotation.Excel; import lombok.Data; +import org.springframework.data.annotation.Transient; import java.math.BigDecimal; import java.util.Date; @@ -17,6 +18,9 @@ import java.util.Date; public class WmProductSalseExportVO { private static final long serialVersionUID = 1L; + @Excel(name = "出库单编号") + private String salseCode; + /** * 出库日期 */ @@ -24,36 +28,24 @@ public class WmProductSalseExportVO { @Excel(name = "出库日期", width = 30, dateFormat = "yyyy-MM-dd") private Date salseDate; + @Excel(name = "产品名称") + private String itemName; + + @Excel(name = "规格型号") + private String specification; + /** * 客户名称 */ @Excel(name = "客户名称") private String clientName; - /** - * 产品名称 - */ - @Excel(name = "产品名称") - private String itemName; - - /** - * 规格型号 - */ - @Excel(name = "规格型号") - private String specification; - /** * 重量 */ - @Excel(name = "重量") + @Excel(name = "合计重量") private BigDecimal quantitySalse; - /** - * 单位 - */ - @Excel(name = "单位") - private String unitOfMeasure; - /** * 备注 */ diff --git a/ktg-mes/src/main/resources/mapper/pro/ProFeedbackMapper.xml b/ktg-mes/src/main/resources/mapper/pro/ProFeedbackMapper.xml index 3abd340..a68cc6f 100644 --- a/ktg-mes/src/main/resources/mapper/pro/ProFeedbackMapper.xml +++ b/ktg-mes/src/main/resources/mapper/pro/ProFeedbackMapper.xml @@ -86,10 +86,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and user_name like concat('%', #{userName}, '%') and nick_name like concat('%', #{nickName}, '%') and feedback_channel = #{feedbackChannel} - and feedback_time = #{feedbackTime} and record_user = #{recordUser} and record_nick = #{recordNick} and status = #{status} + + AND date_format(feedback_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') + + + AND date_format(feedback_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') + order by create_time desc diff --git a/ktg-mes/src/main/resources/mapper/pro/ProMachineryJobMapper.xml b/ktg-mes/src/main/resources/mapper/pro/ProMachineryJobMapper.xml index 20d763c..285da8a 100644 --- a/ktg-mes/src/main/resources/mapper/pro/ProMachineryJobMapper.xml +++ b/ktg-mes/src/main/resources/mapper/pro/ProMachineryJobMapper.xml @@ -45,6 +45,12 @@ and t1.job_status = #{jobStatus} + + AND date_format(t3.request_date,'%y%m%d') >= date_format(#{startTime},'%y%m%d') + + + AND date_format(t3.request_date,'%y%m%d') <= date_format(#{endTime},'%y%m%d') + order by t1.update_time desc diff --git a/ktg-mes/src/main/resources/mapper/pro/ProMonthReportMapper.xml b/ktg-mes/src/main/resources/mapper/pro/ProMonthReportMapper.xml index 56e7b62..26850f0 100644 --- a/ktg-mes/src/main/resources/mapper/pro/ProMonthReportMapper.xml +++ b/ktg-mes/src/main/resources/mapper/pro/ProMonthReportMapper.xml @@ -35,14 +35,14 @@ select round(sum(t1.power + t1.machine_shop_power), 4) as power from pro_month_report t1 - where t1.report_month >= #{beginDate} - and t1.report_month <= #{endDate} + where t1.report_month >= #{beginMonth} + and t1.report_month <= #{endMonth} diff --git a/ktg-mes/src/main/resources/mapper/pro/ProWorkorderMapper.xml b/ktg-mes/src/main/resources/mapper/pro/ProWorkorderMapper.xml index 7e33499..a38a87e 100644 --- a/ktg-mes/src/main/resources/mapper/pro/ProWorkorderMapper.xml +++ b/ktg-mes/src/main/resources/mapper/pro/ProWorkorderMapper.xml @@ -85,7 +85,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and ancestors = #{ancestors} and status = #{status} and machinery_id = #{machineryId} - and machinery_name = #{machineryName} + and machinery_name like concat('%',#{machineryName},'%') and machinery_code = #{machineryCode} and machinery_no = #{machineryNo} and team_id = #{teamId} @@ -118,9 +118,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" workorder_code as workorderCode, product_name as productName, client_name as clientName, + product_code as productSpc, + machinery_no as machineryNo, remark from pro_workorder where machinery_id = #{machineryId} and status = 'CONFIRMED' + order by create_time desc diff --git a/ktg-mes/src/main/resources/mapper/wm/WmIssueHeaderMapper.xml b/ktg-mes/src/main/resources/mapper/wm/WmIssueHeaderMapper.xml index 219fd04..4858ede 100644 --- a/ktg-mes/src/main/resources/mapper/wm/WmIssueHeaderMapper.xml +++ b/ktg-mes/src/main/resources/mapper/wm/WmIssueHeaderMapper.xml @@ -112,12 +112,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and area_id = #{areaId} and area_code = #{areaCode} and area_name like concat('%', #{areaName}, '%') - and issue_date = #{issueDate} and status = #{status} + + AND date_format(issue_date,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') + + + AND date_format(issue_date,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') + order by create_time desc + + - + select wit.recpt_id, wit.recpt_code, + wit.recpt_name, wit.iqc_id, wit.iqc_code, wit.po_code, + wit.vendor_id, wit.vendor_code, wit.vendor_name, + wit.vendor_nick, wit.warehouse_id, wit.warehouse_code, + wit.warehouse_name, wit.location_id, wit.location_code, + wit.location_name, wit.area_id, wit.area_code, wit.area_name, + wit.recpt_date, wit.status, wit.remark, wit.cancel_remark,wit.attr1, + wit.attr2, wit.attr3, wit.attr4, wit.create_by, wit.create_time, + wit.update_by, wit.update_time,witl_r.item_name,witl_r.specification,ifnull(witl_r2.quantity_recived,0) as quantity_recived + from wm_item_recpt wit + left join (SELECT *, ROW_NUMBER() OVER (PARTITION BY recpt_id ORDER BY line_id) AS rn FROM wm_item_recpt_line) as witl_r on witl_r.recpt_id=wit.recpt_id and witl_r.rn = 1 + left join (select sum(quantity_recived) as quantity_recived,recpt_id from wm_item_recpt_line group by recpt_id) as witl_r2 on witl_r2.recpt_id = wit.recpt_id - and recpt_code = #{recptCode} - and recpt_name like concat('%', #{recptName}, '%') - and iqc_id = #{iqcId} - and iqc_code = #{iqcCode} - and po_code = #{poCode} - and vendor_id = #{vendorId} - and vendor_code = #{vendorCode} - and vendor_name like concat('%', #{vendorName}, '%') - and vendor_nick = #{vendorNick} - and warehouse_id = #{warehouseId} - and warehouse_code = #{warehouseCode} - and warehouse_name like concat('%', #{warehouseName}, '%') - and location_id = #{locationId} - and location_code = #{locationCode} - and location_name like concat('%', #{locationName}, '%') - and area_id = #{areaId} - and area_code = #{areaCode} - and area_name like concat('%', #{areaName}, '%') - and recpt_date = #{recptDate} - and status = #{status} + and wit.recpt_code = #{recptCode} + and wit.recpt_name like concat('%', #{recptName}, '%') + and wit.iqc_id = #{iqcId} + and wit.iqc_code = #{iqcCode} + and wit.po_code = #{poCode} + and wit.vendor_id = #{vendorId} + and wit.vendor_code = #{vendorCode} + and wit.vendor_name like concat('%', #{vendorName}, '%') + and wit.vendor_nick = #{vendorNick} + and wit.warehouse_id = #{warehouseId} + and wit.warehouse_code = #{warehouseCode} + and wit.warehouse_name like concat('%', #{warehouseName}, '%') + and wit.location_id = #{locationId} + and wit.location_code = #{locationCode} + and wit.location_name like concat('%', #{locationName}, '%') + and wit.area_id = #{areaId} + and wit.area_code = #{areaCode} + and wit.area_name like concat('%', #{areaName}, '%') + and wit.recpt_date = #{recptDate} + and wit.status = #{status} + and wit.recpt_id in (select recpt_id from wm_item_recpt_line where item_code = #{itemCode}) - AND date_format(recpt_date,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') + AND date_format(wit.recpt_date,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - AND date_format(recpt_date,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') + AND date_format(wit.recpt_date,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') order by create_time desc diff --git a/ktg-mes/src/main/resources/mapper/wm/WmMaterialStockMapper.xml b/ktg-mes/src/main/resources/mapper/wm/WmMaterialStockMapper.xml index 9a86635..fe7ca9d 100644 --- a/ktg-mes/src/main/resources/mapper/wm/WmMaterialStockMapper.xml +++ b/ktg-mes/src/main/resources/mapper/wm/WmMaterialStockMapper.xml @@ -88,6 +88,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and workorder_id = #{workorderId} and workorder_code = #{workorderCode} and expire_date = #{expireDate} + + AND date_format(expire_date,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') + + + AND date_format(expire_date,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') + and attr1 = #{attr1} and attr2 = #{attr2} and attr3 = #{attr3} @@ -124,7 +130,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and recpt_date = #{recptDate} and workorder_id = #{workorderId} and workorder_code like concat('%',#{workorderCode},'%') - and expire_date = #{expireDate} + + AND date_format(expire_date,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') + + + AND date_format(expire_date,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') + and attr1 = #{attr1} and attr2 = #{attr2} and attr3 = #{attr3} diff --git a/ktg-mes/src/main/resources/mapper/wm/WmProductRecptMapper.xml b/ktg-mes/src/main/resources/mapper/wm/WmProductRecptMapper.xml index de702d6..8747ea3 100644 --- a/ktg-mes/src/main/resources/mapper/wm/WmProductRecptMapper.xml +++ b/ktg-mes/src/main/resources/mapper/wm/WmProductRecptMapper.xml @@ -168,18 +168,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" wpr.team_name as teamName, wpr.machinery_name as machineryName, wpr.machinery_no as machineryNo, - wprl.item_name as itemName, - wprl.specification, + wprl_r.item_name as itemName, + wprl_r.specification, wprl.quantity_recived as quantityRecived, - wprl.unit_of_measure as unitOfMeasure, - wps.salse_date as salseDate, - wps.client_name as clientName, - wrs.rt_date as rtDate + wprl_r.unit_of_measure as unitOfMeasure, + wpr.remark as remark from wm_product_recpt wpr - LEFT JOIN wm_product_recpt_line wprl on wpr.recpt_id = wprl.recpt_id - LEFT JOIN wm_product_salse_line wpsl ON wpsl.batch_code = wprl.batch_code - LEFT JOIN wm_product_salse wps ON wpsl.salse_id = wps.salse_id - LEFT JOIN wm_rt_salse wrs ON wrs.so_code = wps.so_code + left join (SELECT *, ROW_NUMBER() OVER (PARTITION BY recpt_id ORDER BY line_id) AS rn FROM wm_product_recpt_line) + as wprl_r on wprl_r.recpt_id = wpr.recpt_id and wprl_r.rn = 1 + LEFT JOIN (select sum(quantity_recived) as quantity_recived,recpt_id from wm_product_recpt_line group by recpt_id) wprl on wprl.recpt_id = wpr.recpt_id and wpr.recpt_code = #{recptCode} and wpr.recpt_name like concat('%', #{recptName}, '%') diff --git a/ktg-mes/src/main/resources/mapper/wm/WmProductSalseMapper.xml b/ktg-mes/src/main/resources/mapper/wm/WmProductSalseMapper.xml index c537786..c82eb1f 100644 --- a/ktg-mes/src/main/resources/mapper/wm/WmProductSalseMapper.xml +++ b/ktg-mes/src/main/resources/mapper/wm/WmProductSalseMapper.xml @@ -37,6 +37,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + @@ -78,7 +82,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select salse_id, salse_code, salse_name, oqc_id, oqc_code, so_code, client_id, client_code, client_name, client_nick, warehouse_id, warehouse_code, warehouse_name, location_id, location_code, location_name, area_id, area_code, area_name, salse_date, - status, remark,cancel_remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from wm_product_salse + status, remark,cancel_remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time,send_date,send_car_code from wm_product_salse @@ -144,15 +154,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/ktg-mes/src/main/resources/mapper/wm/WmRtSalseMapper.xml b/ktg-mes/src/main/resources/mapper/wm/WmRtSalseMapper.xml index 28e829d..9a4f7c3 100644 --- a/ktg-mes/src/main/resources/mapper/wm/WmRtSalseMapper.xml +++ b/ktg-mes/src/main/resources/mapper/wm/WmRtSalseMapper.xml @@ -107,13 +107,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and area_id = #{areaId} and area_code = #{areaCode} and area_name like concat('%', #{areaName}, '%') - and rt_date = #{rtDate} and rt_reason = #{rtReason} and status = #{status} and attr1 = #{attr1} and attr2 = #{attr2} and attr3 = #{attr3} and attr4 = #{attr4} + + AND date_format(rtDate,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') + + + AND date_format(rtDate,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') + order by create_time desc diff --git a/ktg-mes/src/main/resources/mapper/wm/WmRtVendorMapper.xml b/ktg-mes/src/main/resources/mapper/wm/WmRtVendorMapper.xml index 2ff6f63..7ce600a 100644 --- a/ktg-mes/src/main/resources/mapper/wm/WmRtVendorMapper.xml +++ b/ktg-mes/src/main/resources/mapper/wm/WmRtVendorMapper.xml @@ -75,8 +75,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and vendor_name like concat('%', #{vendorName}, '%') and vendor_nick = #{vendorNick} and batch_code = #{batchCode} - and rt_date = #{rtDate} and status = #{status} + + AND date_format(rt_date,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') + + + AND date_format(rt_date,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') + order by create_time desc diff --git a/ktg-mes/src/main/resources/mapper/wm/WmTransactionMapper.xml b/ktg-mes/src/main/resources/mapper/wm/WmTransactionMapper.xml index eeb75dc..b3424e0 100644 --- a/ktg-mes/src/main/resources/mapper/wm/WmTransactionMapper.xml +++ b/ktg-mes/src/main/resources/mapper/wm/WmTransactionMapper.xml @@ -86,7 +86,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and transaction_quantity = #{transactionQuantity} and transaction_date = #{transactionDate} and related_transaction_id = #{relatedTransactionId} - and recpt_date = #{recptDate} and workorder_id = #{workorderId} and workorder_code = #{workorderCode} and erp_date = #{erpDate} @@ -94,7 +93,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and attr1 = #{attr1} and attr2 = #{attr2} and attr3 = #{attr3} - and attr4 = #{attr4} + and attr4 = #{attr4} + AND date_format(recptDate,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') + + + AND date_format(recptDate,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') + diff --git a/ktg-weixin/src/main/java/com/ktg/weixin/controller/ApiProController.java b/ktg-weixin/src/main/java/com/ktg/weixin/controller/ApiProController.java index cac1299..4aa9afa 100644 --- a/ktg-weixin/src/main/java/com/ktg/weixin/controller/ApiProController.java +++ b/ktg-weixin/src/main/java/com/ktg/weixin/controller/ApiProController.java @@ -6,6 +6,7 @@ import com.ktg.common.core.domain.entity.SysUser; import com.ktg.common.utils.SecurityUtils; import com.ktg.mes.dv.service.IDvMachineryService; import com.ktg.mes.dv.vo.res.DvMachineryResponse; +import com.ktg.mes.pro.domain.ProMachineryJob; import com.ktg.mes.pro.service.IProMachineryJobService; import com.ktg.mes.pro.service.IProWorkorderService; import com.ktg.mes.pro.vo.req.*; @@ -102,6 +103,25 @@ public class ApiProController extends BaseController { } } + /** + * 撤销 + * @param jobId + * @return + */ + @GetMapping("/cancel/{jobId}") + public AjaxResult cancelWorkorder(@PathVariable Long jobId) { + try { + SysUser currentUser = SecurityUtils.getLoginUser().getUser(); + int result = proMachineryJobService.cancel(jobId, currentUser); + if (result > 0) { + return AjaxResult.success("撤销成功"); + } + return AjaxResult.success("撤销失败"); + } catch (Exception e) { + return AjaxResult.error(e.getMessage()); + } + } + /** * 步骤1-加料 */ @@ -349,5 +369,4 @@ public class ApiProController extends BaseController { } } - }