From 21818265fc748b0409da448b6f6233cc11d6c276 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 28 Oct 2024 17:37:23 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/mes/service/impl/IWCInterfaceServiceImpl.java | 1 + .../com/op/quality/domain/IncomeTableExport.java | 2 +- .../com/op/quality/domain/QcCheckTaskProduce.java | 12 +++++++++++- .../service/impl/QcStaticTableServiceImpl.java | 6 ++---- .../mapper/quality/QcCheckReportIncomeMapper.xml | 3 +++ .../mapper/quality/QcCheckTaskInventoryMapper.xml | 6 ++---- .../mapper/quality/QcCheckTaskProduceMapper.xml | 4 +++- .../resources/mapper/quality/QcStaticTableMapper.xml | 4 +++- 8 files changed, 26 insertions(+), 12 deletions(-) diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java index b8ee2c4d7..0c8f1f464 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java @@ -717,6 +717,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { sapRFW.setAnzma(workOrder.getSapCode());//产线编号 sapRFW.setRemark(workOrder.getRemark());//备注 logger.info(workOrder.getWorkorderCodeSap() + "sap工单报工请求:" + JSONObject.toJSONString(sapRFW)); + //R r= R.ok(); R r = remoteSapService.sapRFWOrder(sapRFW); logger.info(workOrder.getWorkorderCodeSap() + "sap工单报工结果:" + r.getCode() + "," + r.getData() + "," + r.getMsg()); //上传成功,更改mes_report_work状态 diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/IncomeTableExport.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/IncomeTableExport.java index d5dad30e8..8efbdbbcd 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/IncomeTableExport.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/IncomeTableExport.java @@ -37,7 +37,7 @@ public class IncomeTableExport extends BaseEntity { private int okNums; @Excel(name = "不合格数量") private int noOkNums; - @Excel(name = "数量比例") + @Excel(name = "数量不良率") private String noOkNumRate; public String getSupplierId() { diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskProduce.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskProduce.java index 7a81db3ca..9766de6f7 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskProduce.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskProduce.java @@ -45,6 +45,7 @@ public class QcCheckTaskProduce extends BaseEntity { this.incomeBatchNo = incomeBatchNo; } private String cpkType; + /** * 订单号 */ @@ -63,7 +64,8 @@ public class QcCheckTaskProduce extends BaseEntity { */ @Excel(name = "物料名称") private String materialName; - + @Excel(name = "CPK品类") + private String cpkTypeName; /** * 数量 */ @@ -210,6 +212,14 @@ public class QcCheckTaskProduce extends BaseEntity { private String shiftId; private String bz;//备注 + public String getCpkTypeName() { + return cpkTypeName; + } + + public void setCpkTypeName(String cpkTypeName) { + this.cpkTypeName = cpkTypeName; + } + public String getCpkType() { return cpkType; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java index 5ea97a53f..c1484de14 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java @@ -92,8 +92,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { //批次不良率 if (tabledto.getBatchs() != 0) { BigDecimal noOkBatchRate = new BigDecimal(tabledto.getNoOkBatchs()).multiply(new BigDecimal("100.00")) - .divide(new BigDecimal(tabledto.getBatchs()), BigDecimal.ROUND_CEILING) - .setScale(2, BigDecimal.ROUND_HALF_UP); + .divide(new BigDecimal(tabledto.getBatchs()), 2,BigDecimal.ROUND_HALF_UP); tabledto.setNoOkBatchRate(noOkBatchRate.toString() + "%"); } else { tabledto.setNoOkBatchRate("0.00%"); @@ -109,8 +108,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { //数量不良率 if (tabledto.getNums() != 0) { BigDecimal noOkNumRate = new BigDecimal(tabledto.getNoOkNums()).multiply(new BigDecimal("100.00")) - .divide(new BigDecimal(tabledto.getNums()), BigDecimal.ROUND_CEILING) - .setScale(2, BigDecimal.ROUND_HALF_UP); + .divide(new BigDecimal(tabledto.getNums()), 4, BigDecimal.ROUND_HALF_UP); tabledto.setNoOkNumRate(noOkNumRate.toString() + "%"); } else { tabledto.setNoOkNumRate("0.00%"); diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml index 223d25fb5..2a2783790 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml @@ -89,6 +89,9 @@ and #{checkTimeEnd} > CONVERT(varchar(30),qct.check_time, 120) and q.type_code = #{typeCode} and qct.check_type = #{checkType} + + and pow.workorder_code_sap like concat('%',#{workorderCodeSap}, '%') + diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml index 8e8bf55b0..fc6fc6d98 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml @@ -72,10 +72,8 @@ and qct.material_name like concat('%',#{materialName}, '%') - and qct.supplier_code = #{supplierCode} - and qct.supplier_name like concat('%', - #{supplierName}, '%') - + and qct.supplier_code like concat('%',#{supplierCode}, '%') + and qct.supplier_name like concat('%',#{supplierName}, '%') and qct.income_time = #{incomeTime} and qct.check_loc = #{checkLoc} and qct.check_status = #{checkStatus} diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml index 5eb0f6b23..dc75e15a4 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml @@ -46,6 +46,7 @@ + @@ -108,12 +109,13 @@ qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_loc, qct.check_status, qct.check_man_code, qct.check_man_name,qct.check_time, qct.check_result, qct.status, qct.create_by,qct.create_time, qct.update_by, qct.update_time, - qct.check_type,qct.sample_quality,qct.noOk_quality,bpa.cpk_type, + qct.check_type,qct.sample_quality,qct.noOk_quality,bpa.cpk_type,sdd.dict_label cpkTypeName, q.type_code,q.check_name,SUBSTRING(pow.workorder_code_sap, 4, 12) workorderCodeSap from qc_check_task qct left join qc_check_type q on q.id = qct.check_type left join pro_order_workorder pow on pow.workorder_code = qct.order_no left join base_product_attached bpa on concat('0000000',bpa.product_code) = qct.material_code + left join lanju_op_cloud.dbo.sys_dict_data sdd on sdd.dict_type = 'qms_category' and sdd.dict_value = bpa.cpk_type and qct.check_no = #{checkNo} and qct.income_batch_no = #{incomeBatchNo} diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml index 8c298431e..5299836f9 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml @@ -206,7 +206,9 @@ left join base_equipment be on be.equipment_code = qct.check_loc where qct.check_type = 'checkTypeSCXJ' and qct.del_flag = '0' and pow.del_flag = '0' and qct.check_no like concat('%',#{orderNo},'%') - and qct.material_code like concat('%',#{materialCode},'%') + and ( + qct.material_code like concat('%',#{materialCode},'%') or qct.material_name like concat('%',#{materialCode},'%') + ) and qct.income_batch_no like concat('%',#{incomeBatchNo},'%') and CONVERT(varchar(10),pow.product_date, 120) = #{incomeTimeStr} and CONVERT(varchar(30),qct.income_time, 120) >= #{incomeTimeStart} From 0b22b0542ca1db9211d0ace695aaa8e1ce56b96f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=81=92=E6=9D=B0?= <2658502433@qq.com> Date: Tue, 29 Oct 2024 18:08:12 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E7=99=BD=E5=9D=AF=E5=8E=9F=E6=9D=90?= =?UTF-8?q?=E6=96=99=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BpRawMaterialInController.java | 104 +++++++ .../BpRawMaterialInDetailController.java | 105 +++++++ .../com/op/wms/domain/BpRawMaterialIn.java | 280 ++++++++++++++++++ .../op/wms/domain/BpRawMaterialInDetail.java | 280 ++++++++++++++++++ .../com/op/wms/mapper/BaseProductMapper.java | 2 + .../mapper/BpRawMaterialInDetailMapper.java | 61 ++++ .../op/wms/mapper/BpRawMaterialInMapper.java | 64 ++++ .../IBpRawMaterialInDetailService.java | 63 ++++ .../wms/service/IBpRawMaterialInService.java | 61 ++++ .../BpRawMaterialInDetailServiceImpl.java | 156 ++++++++++ .../impl/BpRawMaterialInServiceImpl.java | 101 +++++++ .../mapper/wms/BaseProductMapper.xml | 7 + .../wms/BpRawMaterialInDetailMapper.xml | 142 +++++++++ .../mapper/wms/BpRawMaterialInMapper.xml | 148 +++++++++ 14 files changed, 1574 insertions(+) create mode 100644 op-modules/op-wms/src/main/java/com/op/wms/controller/BpRawMaterialInController.java create mode 100644 op-modules/op-wms/src/main/java/com/op/wms/controller/BpRawMaterialInDetailController.java create mode 100644 op-modules/op-wms/src/main/java/com/op/wms/domain/BpRawMaterialIn.java create mode 100644 op-modules/op-wms/src/main/java/com/op/wms/domain/BpRawMaterialInDetail.java create mode 100644 op-modules/op-wms/src/main/java/com/op/wms/mapper/BpRawMaterialInDetailMapper.java create mode 100644 op-modules/op-wms/src/main/java/com/op/wms/mapper/BpRawMaterialInMapper.java create mode 100644 op-modules/op-wms/src/main/java/com/op/wms/service/IBpRawMaterialInDetailService.java create mode 100644 op-modules/op-wms/src/main/java/com/op/wms/service/IBpRawMaterialInService.java create mode 100644 op-modules/op-wms/src/main/java/com/op/wms/service/impl/BpRawMaterialInDetailServiceImpl.java create mode 100644 op-modules/op-wms/src/main/java/com/op/wms/service/impl/BpRawMaterialInServiceImpl.java create mode 100644 op-modules/op-wms/src/main/resources/mapper/wms/BpRawMaterialInDetailMapper.xml create mode 100644 op-modules/op-wms/src/main/resources/mapper/wms/BpRawMaterialInMapper.xml diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/BpRawMaterialInController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/BpRawMaterialInController.java new file mode 100644 index 000000000..3a1ce6081 --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/BpRawMaterialInController.java @@ -0,0 +1,104 @@ +package com.op.wms.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.op.common.log.annotation.Log; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.log.enums.BusinessType; +import com.op.wms.domain.BpRawMaterialIn; +import com.op.wms.service.IBpRawMaterialInService; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.page.TableDataInfo; + +/** + * 白坯原材料入库Controller + * + * @author ruoyi + * @date 2024-10-28 + */ +@RestController +@RequestMapping("/raw") +public class BpRawMaterialInController extends BaseController +{ + @Autowired + private IBpRawMaterialInService bpRawMaterialInService; + + /** + * 查询白坯原材料入库列表 + */ + @PreAuthorize("@ss.hasPermi('wms:raw:list')") + @GetMapping("/list") + public TableDataInfo list(BpRawMaterialIn bpRawMaterialIn) + { + startPage(); + List list = bpRawMaterialInService.selectBpRawMaterialInList(bpRawMaterialIn); + return getDataTable(list); + } + + /** + * 导出白坯原材料入库列表 + */ + @PreAuthorize("@ss.hasPermi('wms:raw:export')") + @Log(title = "白坯原材料入库", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BpRawMaterialIn bpRawMaterialIn) + { + List list = bpRawMaterialInService.selectBpRawMaterialInList(bpRawMaterialIn); + ExcelUtil util = new ExcelUtil(BpRawMaterialIn.class); + util.exportExcel(response, list, "白坯原材料入库数据"); + } + + /** + * 获取白坯原材料入库详细信息 + */ + @PreAuthorize("@ss.hasPermi('wms:raw:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) + { + return success(bpRawMaterialInService.selectBpRawMaterialInById(id)); + } + + /** + * 新增白坯原材料入库 + */ + @PreAuthorize("@ss.hasPermi('wms:raw:add')") + @Log(title = "白坯原材料入库", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BpRawMaterialIn bpRawMaterialIn) + { + return toAjax(bpRawMaterialInService.insertBpRawMaterialIn(bpRawMaterialIn)); + } + + /** + * 修改白坯原材料入库 + */ + @PreAuthorize("@ss.hasPermi('wms:raw:edit')") + @Log(title = "白坯原材料入库", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BpRawMaterialIn bpRawMaterialIn) + { + return toAjax(bpRawMaterialInService.updateBpRawMaterialIn(bpRawMaterialIn)); + } + + /** + * 删除白坯原材料入库 + */ + @PreAuthorize("@ss.hasPermi('wms:raw:remove')") + @Log(title = "白坯原材料入库", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) + { + return toAjax(bpRawMaterialInService.deleteBpRawMaterialInByIds(ids)); + } +} diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/BpRawMaterialInDetailController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/BpRawMaterialInDetailController.java new file mode 100644 index 000000000..a624f8df4 --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/BpRawMaterialInDetailController.java @@ -0,0 +1,105 @@ +package com.op.wms.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.microsoft.windowsazure.exception.ServiceException; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.op.common.log.annotation.Log; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.log.enums.BusinessType; +import com.op.wms.domain.BpRawMaterialInDetail; +import com.op.wms.service.IBpRawMaterialInDetailService; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.page.TableDataInfo; + +/** + * 白坯原材料入库明细Controller + * + * @author ruoyi + * @date 2024-10-29 + */ +@RestController +@RequestMapping("/detail") +public class BpRawMaterialInDetailController extends BaseController +{ + @Autowired + private IBpRawMaterialInDetailService bpRawMaterialInDetailService; + + /** + * 查询白坯原材料入库明细列表 + */ + @PreAuthorize("@ss.hasPermi('wms:detail:list')") + @GetMapping("/list") + public TableDataInfo list(BpRawMaterialInDetail bpRawMaterialInDetail) + { + startPage(); + List list = bpRawMaterialInDetailService.selectBpRawMaterialInDetailList(bpRawMaterialInDetail); + return getDataTable(list); + } + + /** + * 导出白坯原材料入库明细列表 + */ + @PreAuthorize("@ss.hasPermi('wms:detail:export')") + @Log(title = "白坯原材料入库明细", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BpRawMaterialInDetail bpRawMaterialInDetail) + { + List list = bpRawMaterialInDetailService.selectBpRawMaterialInDetailList(bpRawMaterialInDetail); + ExcelUtil util = new ExcelUtil(BpRawMaterialInDetail.class); + util.exportExcel(response, list, "白坯原材料入库明细数据"); + } + + /** + * 获取白坯原材料入库明细详细信息 + */ + @PreAuthorize("@ss.hasPermi('wms:detail:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) + { + return success(bpRawMaterialInDetailService.selectBpRawMaterialInDetailById(id)); + } + + /** + * 新增白坯原材料入库明细 + */ + @PreAuthorize("@ss.hasPermi('wms:detail:add')") + @Log(title = "白坯原材料入库明细", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BpRawMaterialInDetail bpRawMaterialInDetail) throws ServiceException { + return toAjax(bpRawMaterialInDetailService.insertBpRawMaterialInDetail(bpRawMaterialInDetail)); + } + + /** + * 修改白坯原材料入库明细 + */ + @PreAuthorize("@ss.hasPermi('wms:detail:edit')") + @Log(title = "白坯原材料入库明细", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BpRawMaterialInDetail bpRawMaterialInDetail) + { + return toAjax(bpRawMaterialInDetailService.updateBpRawMaterialInDetail(bpRawMaterialInDetail)); + } + + /** + * 删除白坯原材料入库明细 + */ + @PreAuthorize("@ss.hasPermi('wms:detail:remove')") + @Log(title = "白坯原材料入库明细", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) + { + return toAjax(bpRawMaterialInDetailService.deleteBpRawMaterialInDetailByIds(ids)); + } +} diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/BpRawMaterialIn.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/BpRawMaterialIn.java new file mode 100644 index 000000000..2f68ab9b5 --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/BpRawMaterialIn.java @@ -0,0 +1,280 @@ +package com.op.wms.domain; + +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.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; + +/** + * 白坯原材料入库对象 bp_raw_material_in + * + * @author ruoyi + * @date 2024-10-28 + */ +public class BpRawMaterialIn extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private String id; + + /** 工厂 */ + @Excel(name = "工厂") + private String factoryCode; + + /** 仓库 */ + @Excel(name = "仓库") + private String waCode; + + /** 库区 */ + @Excel(name = "库区") + private String wlCode; + + /** 物料编码 */ + @Excel(name = "物料编码") + private String materialCode; + + /** 物料名称 */ + @Excel(name = "物料名称") + private String materialName; + + /** 单位 */ + @Excel(name = "单位") + private String unit; + + /** 供应商 */ + @Excel(name = "供应商") + private String supplyName; + + /** 计划数量 */ + @Excel(name = "计划数量") + private Long amnountPlan; + + /** 收货数量 */ + @Excel(name = "收货数量") + private Long amountReal; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined1; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined2; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined3; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined4; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined5; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date gmtCreate; + + /** 更新人 */ + @Excel(name = "更新人") + private String modifiedBy; + + /** 更新时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date gmtModified; + + public void setId(String id) + { + this.id = id; + } + + public String getId() + { + return id; + } + public void setFactoryCode(String factoryCode) + { + this.factoryCode = factoryCode; + } + + public String getFactoryCode() + { + return factoryCode; + } + public void setWaCode(String waCode) + { + this.waCode = waCode; + } + + public String getWaCode() + { + return waCode; + } + public void setWlCode(String wlCode) + { + this.wlCode = wlCode; + } + + public String getWlCode() + { + return wlCode; + } + public void setMaterialCode(String materialCode) + { + this.materialCode = materialCode; + } + + public String getMaterialCode() + { + return materialCode; + } + public void setMaterialName(String materialName) + { + this.materialName = materialName; + } + + public String getMaterialName() + { + return materialName; + } + public void setUnit(String unit) + { + this.unit = unit; + } + + public String getUnit() + { + return unit; + } + public void setSupplyName(String supplyName) + { + this.supplyName = supplyName; + } + + public String getSupplyName() + { + return supplyName; + } + public void setAmnountPlan(Long amnountPlan) + { + this.amnountPlan = amnountPlan; + } + + public Long getAmnountPlan() + { + return amnountPlan; + } + public void setAmountReal(Long amountReal) + { + this.amountReal = amountReal; + } + + public Long getAmountReal() + { + return amountReal; + } + public void setUserDefined1(String userDefined1) + { + this.userDefined1 = userDefined1; + } + + public String getUserDefined1() + { + return userDefined1; + } + public void setUserDefined2(String userDefined2) + { + this.userDefined2 = userDefined2; + } + + public String getUserDefined2() + { + return userDefined2; + } + public void setUserDefined3(String userDefined3) + { + this.userDefined3 = userDefined3; + } + + public String getUserDefined3() + { + return userDefined3; + } + public void setUserDefined4(String userDefined4) + { + this.userDefined4 = userDefined4; + } + + public String getUserDefined4() + { + return userDefined4; + } + public void setUserDefined5(String userDefined5) + { + this.userDefined5 = userDefined5; + } + + public String getUserDefined5() + { + return userDefined5; + } + public void setGmtCreate(Date gmtCreate) + { + this.gmtCreate = gmtCreate; + } + + public Date getGmtCreate() + { + return gmtCreate; + } + public void setModifiedBy(String modifiedBy) + { + this.modifiedBy = modifiedBy; + } + + public String getModifiedBy() + { + return modifiedBy; + } + public void setGmtModified(Date gmtModified) + { + this.gmtModified = gmtModified; + } + + public Date getGmtModified() + { + return gmtModified; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryCode", getFactoryCode()) + .append("waCode", getWaCode()) + .append("wlCode", getWlCode()) + .append("materialCode", getMaterialCode()) + .append("materialName", getMaterialName()) + .append("unit", getUnit()) + .append("supplyName", getSupplyName()) + .append("amnountPlan", getAmnountPlan()) + .append("amountReal", getAmountReal()) + .append("userDefined1", getUserDefined1()) + .append("userDefined2", getUserDefined2()) + .append("userDefined3", getUserDefined3()) + .append("userDefined4", getUserDefined4()) + .append("userDefined5", getUserDefined5()) + .append("createBy", getCreateBy()) + .append("gmtCreate", getGmtCreate()) + .append("modifiedBy", getModifiedBy()) + .append("gmtModified", getGmtModified()) + .toString(); + } +} diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/BpRawMaterialInDetail.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/BpRawMaterialInDetail.java new file mode 100644 index 000000000..536f256ef --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/BpRawMaterialInDetail.java @@ -0,0 +1,280 @@ +package com.op.wms.domain; + +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.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; + +/** + * 白坯原材料入库明细对象 bp_raw_material_in_detail + * + * @author ruoyi + * @date 2024-10-29 + */ +public class BpRawMaterialInDetail extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private String id; + + /** 工厂 */ + @Excel(name = "工厂") + private String factoryCode; + + /** 仓库 */ + @Excel(name = "仓库") + private String waCode; + + /** 库区 */ + @Excel(name = "库区") + private String wlCode; + + /** 物料编码 */ + @Excel(name = "物料编码") + private String materialCode; + + /** 物料名称 */ + @Excel(name = "物料名称") + private String materialName; + + /** 单位 */ + @Excel(name = "单位") + private String unit; + + /** 供应商 */ + @Excel(name = "供应商") + private String supplyName; + + /** 计划数量 */ + @Excel(name = "计划数量") + private Long amnountPlan; + + /** 收货数量 */ + @Excel(name = "收货数量") + private Long amountReal; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined1; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined2; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined3; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined4; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined5; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date gmtCreate; + + /** 更新人 */ + @Excel(name = "更新人") + private String modifiedBy; + + /** 更新时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date gmtModified; + + public void setId(String id) + { + this.id = id; + } + + public String getId() + { + return id; + } + public void setFactoryCode(String factoryCode) + { + this.factoryCode = factoryCode; + } + + public String getFactoryCode() + { + return factoryCode; + } + public void setWaCode(String waCode) + { + this.waCode = waCode; + } + + public String getWaCode() + { + return waCode; + } + public void setWlCode(String wlCode) + { + this.wlCode = wlCode; + } + + public String getWlCode() + { + return wlCode; + } + public void setMaterialCode(String materialCode) + { + this.materialCode = materialCode; + } + + public String getMaterialCode() + { + return materialCode; + } + public void setMaterialName(String materialName) + { + this.materialName = materialName; + } + + public String getMaterialName() + { + return materialName; + } + public void setUnit(String unit) + { + this.unit = unit; + } + + public String getUnit() + { + return unit; + } + public void setSupplyName(String supplyName) + { + this.supplyName = supplyName; + } + + public String getSupplyName() + { + return supplyName; + } + public void setAmnountPlan(Long amnountPlan) + { + this.amnountPlan = amnountPlan; + } + + public Long getAmnountPlan() + { + return amnountPlan; + } + public void setAmountReal(Long amountReal) + { + this.amountReal = amountReal; + } + + public Long getAmountReal() + { + return amountReal; + } + public void setUserDefined1(String userDefined1) + { + this.userDefined1 = userDefined1; + } + + public String getUserDefined1() + { + return userDefined1; + } + public void setUserDefined2(String userDefined2) + { + this.userDefined2 = userDefined2; + } + + public String getUserDefined2() + { + return userDefined2; + } + public void setUserDefined3(String userDefined3) + { + this.userDefined3 = userDefined3; + } + + public String getUserDefined3() + { + return userDefined3; + } + public void setUserDefined4(String userDefined4) + { + this.userDefined4 = userDefined4; + } + + public String getUserDefined4() + { + return userDefined4; + } + public void setUserDefined5(String userDefined5) + { + this.userDefined5 = userDefined5; + } + + public String getUserDefined5() + { + return userDefined5; + } + public void setGmtCreate(Date gmtCreate) + { + this.gmtCreate = gmtCreate; + } + + public Date getGmtCreate() + { + return gmtCreate; + } + public void setModifiedBy(String modifiedBy) + { + this.modifiedBy = modifiedBy; + } + + public String getModifiedBy() + { + return modifiedBy; + } + public void setGmtModified(Date gmtModified) + { + this.gmtModified = gmtModified; + } + + public Date getGmtModified() + { + return gmtModified; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryCode", getFactoryCode()) + .append("waCode", getWaCode()) + .append("wlCode", getWlCode()) + .append("materialCode", getMaterialCode()) + .append("materialName", getMaterialName()) + .append("unit", getUnit()) + .append("supplyName", getSupplyName()) + .append("amnountPlan", getAmnountPlan()) + .append("amountReal", getAmountReal()) + .append("userDefined1", getUserDefined1()) + .append("userDefined2", getUserDefined2()) + .append("userDefined3", getUserDefined3()) + .append("userDefined4", getUserDefined4()) + .append("userDefined5", getUserDefined5()) + .append("createBy", getCreateBy()) + .append("gmtCreate", getGmtCreate()) + .append("modifiedBy", getModifiedBy()) + .append("gmtModified", getGmtModified()) + .toString(); + } +} diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/BaseProductMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/BaseProductMapper.java index c2b55d5f9..d51ed923b 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/BaseProductMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/BaseProductMapper.java @@ -64,4 +64,6 @@ public interface BaseProductMapper { String checkCodeUnique(BaseProduct baseProduct); BaseProduct selectBaseProductByProductCode(String productCode); + + BaseProduct selectBaseProductByProductName(String productName); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/BpRawMaterialInDetailMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/BpRawMaterialInDetailMapper.java new file mode 100644 index 000000000..faceb2c93 --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/BpRawMaterialInDetailMapper.java @@ -0,0 +1,61 @@ +package com.op.wms.mapper; + +import java.util.List; +import com.op.wms.domain.BpRawMaterialInDetail; + +/** + * 白坯原材料入库明细Mapper接口 + * + * @author ruoyi + * @date 2024-10-29 + */ +public interface BpRawMaterialInDetailMapper +{ + /** + * 查询白坯原材料入库明细 + * + * @param id 白坯原材料入库明细主键 + * @return 白坯原材料入库明细 + */ + public BpRawMaterialInDetail selectBpRawMaterialInDetailById(String id); + + /** + * 查询白坯原材料入库明细列表 + * + * @param bpRawMaterialInDetail 白坯原材料入库明细 + * @return 白坯原材料入库明细集合 + */ + public List selectBpRawMaterialInDetailList(BpRawMaterialInDetail bpRawMaterialInDetail); + + /** + * 新增白坯原材料入库明细 + * + * @param bpRawMaterialInDetail 白坯原材料入库明细 + * @return 结果 + */ + public int insertBpRawMaterialInDetail(BpRawMaterialInDetail bpRawMaterialInDetail); + + /** + * 修改白坯原材料入库明细 + * + * @param bpRawMaterialInDetail 白坯原材料入库明细 + * @return 结果 + */ + public int updateBpRawMaterialInDetail(BpRawMaterialInDetail bpRawMaterialInDetail); + + /** + * 删除白坯原材料入库明细 + * + * @param id 白坯原材料入库明细主键 + * @return 结果 + */ + public int deleteBpRawMaterialInDetailById(String id); + + /** + * 批量删除白坯原材料入库明细 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBpRawMaterialInDetailByIds(String[] ids); +} diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/BpRawMaterialInMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/BpRawMaterialInMapper.java new file mode 100644 index 000000000..f2c84213f --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/BpRawMaterialInMapper.java @@ -0,0 +1,64 @@ +package com.op.wms.mapper; + +import java.util.List; + +import com.op.wms.domain.BpRawMaterialIn; + +/** + * 白坯原材料入库Mapper接口 + * + * @author ruoyi + * @date 2024-10-28 + */ +public interface BpRawMaterialInMapper +{ + /** + * 查询白坯原材料入库 + * + * @param id 白坯原材料入库主键 + * @return 白坯原材料入库 + */ + public BpRawMaterialIn selectBpRawMaterialInById(String id); + + /** + * 查询白坯原材料入库列表 + * + * @param bpRawMaterialIn 白坯原材料入库 + * @return 白坯原材料入库集合 + */ + public List selectBpRawMaterialInList(BpRawMaterialIn bpRawMaterialIn); + + /** + * 新增白坯原材料入库 + * + * @param bpRawMaterialIn 白坯原材料入库 + * @return 结果 + */ + public int insertBpRawMaterialIn(BpRawMaterialIn bpRawMaterialIn); + + /** + * 修改白坯原材料入库 + * + * @param bpRawMaterialIn 白坯原材料入库 + * @return 结果 + */ + public int updateBpRawMaterialIn(BpRawMaterialIn bpRawMaterialIn); + + /** + * 删除白坯原材料入库 + * + * @param id 白坯原材料入库主键 + * @return 结果 + */ + public int deleteBpRawMaterialInById(String id); + + /** + * 批量删除白坯原材料入库 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBpRawMaterialInByIds(String[] ids); + + BpRawMaterialIn selectBpRawMaterialInBymateriaName(String materiaName); +} diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IBpRawMaterialInDetailService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IBpRawMaterialInDetailService.java new file mode 100644 index 000000000..73f0c1c26 --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IBpRawMaterialInDetailService.java @@ -0,0 +1,63 @@ +package com.op.wms.service; + +import java.util.List; + +import com.microsoft.windowsazure.exception.ServiceException; +import com.op.wms.domain.BpRawMaterialInDetail; + +/** + * 白坯原材料入库明细Service接口 + * + * @author ruoyi + * @date 2024-10-29 + */ +public interface IBpRawMaterialInDetailService +{ + /** + * 查询白坯原材料入库明细 + * + * @param id 白坯原材料入库明细主键 + * @return 白坯原材料入库明细 + */ + public BpRawMaterialInDetail selectBpRawMaterialInDetailById(String id); + + /** + * 查询白坯原材料入库明细列表 + * + * @param bpRawMaterialInDetail 白坯原材料入库明细 + * @return 白坯原材料入库明细集合 + */ + public List selectBpRawMaterialInDetailList(BpRawMaterialInDetail bpRawMaterialInDetail); + + /** + * 新增白坯原材料入库明细 + * + * @param bpRawMaterialInDetail 白坯原材料入库明细 + * @return 结果 + */ + public int insertBpRawMaterialInDetail(BpRawMaterialInDetail bpRawMaterialInDetail) throws ServiceException; + + /** + * 修改白坯原材料入库明细 + * + * @param bpRawMaterialInDetail 白坯原材料入库明细 + * @return 结果 + */ + public int updateBpRawMaterialInDetail(BpRawMaterialInDetail bpRawMaterialInDetail); + + /** + * 批量删除白坯原材料入库明细 + * + * @param ids 需要删除的白坯原材料入库明细主键集合 + * @return 结果 + */ + public int deleteBpRawMaterialInDetailByIds(String[] ids); + + /** + * 删除白坯原材料入库明细信息 + * + * @param id 白坯原材料入库明细主键 + * @return 结果 + */ + public int deleteBpRawMaterialInDetailById(String id); +} diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IBpRawMaterialInService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IBpRawMaterialInService.java new file mode 100644 index 000000000..b0e307312 --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IBpRawMaterialInService.java @@ -0,0 +1,61 @@ +package com.op.wms.service; + +import java.util.List; +import com.op.wms.domain.BpRawMaterialIn; + +/** + * 白坯原材料入库Service接口 + * + * @author ruoyi + * @date 2024-10-28 + */ +public interface IBpRawMaterialInService +{ + /** + * 查询白坯原材料入库 + * + * @param id 白坯原材料入库主键 + * @return 白坯原材料入库 + */ + public BpRawMaterialIn selectBpRawMaterialInById(String id); + + /** + * 查询白坯原材料入库列表 + * + * @param bpRawMaterialIn 白坯原材料入库 + * @return 白坯原材料入库集合 + */ + public List selectBpRawMaterialInList(BpRawMaterialIn bpRawMaterialIn); + + /** + * 新增白坯原材料入库 + * + * @param bpRawMaterialIn 白坯原材料入库 + * @return 结果 + */ + public int insertBpRawMaterialIn(BpRawMaterialIn bpRawMaterialIn); + + /** + * 修改白坯原材料入库 + * + * @param bpRawMaterialIn 白坯原材料入库 + * @return 结果 + */ + public int updateBpRawMaterialIn(BpRawMaterialIn bpRawMaterialIn); + + /** + * 批量删除白坯原材料入库 + * + * @param ids 需要删除的白坯原材料入库主键集合 + * @return 结果 + */ + public int deleteBpRawMaterialInByIds(String[] ids); + + /** + * 删除白坯原材料入库信息 + * + * @param id 白坯原材料入库主键 + * @return 结果 + */ + public int deleteBpRawMaterialInById(String id); +} diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/BpRawMaterialInDetailServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/BpRawMaterialInDetailServiceImpl.java new file mode 100644 index 000000000..92080165f --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/BpRawMaterialInDetailServiceImpl.java @@ -0,0 +1,156 @@ +package com.op.wms.service.impl; + +import java.util.Date; +import java.util.List; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.microsoft.windowsazure.exception.ServiceException; +import com.op.common.core.context.SecurityContextHolder; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.wms.domain.BaseProduct; +import com.op.wms.domain.BpRawMaterialIn; +import com.op.wms.mapper.BaseProductMapper; +import com.op.wms.mapper.BpRawMaterialInMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.op.wms.mapper.BpRawMaterialInDetailMapper; +import com.op.wms.domain.BpRawMaterialInDetail; +import com.op.wms.service.IBpRawMaterialInDetailService; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 白坯原材料入库明细Service业务层处理 + * + * @author ruoyi + * @date 2024-10-29 + */ +@Service +public class BpRawMaterialInDetailServiceImpl implements IBpRawMaterialInDetailService +{ + @Autowired + private BpRawMaterialInDetailMapper bpRawMaterialInDetailMapper; + @Autowired + private BaseProductMapper baseProductMapper; + @Autowired + private BpRawMaterialInMapper bpRawMaterialInMapper; + + /** + * 查询白坯原材料入库明细 + * + * @param id 白坯原材料入库明细主键 + * @return 白坯原材料入库明细 + */ + @Override + @DS("#header.poolName") + public BpRawMaterialInDetail selectBpRawMaterialInDetailById(String id) + { + return bpRawMaterialInDetailMapper.selectBpRawMaterialInDetailById(id); + } + + /** + * 查询白坯原材料入库明细列表 + * + * @param bpRawMaterialInDetail 白坯原材料入库明细 + * @return 白坯原材料入库明细 + */ + @Override + @DS("#header.poolName") + public List selectBpRawMaterialInDetailList(BpRawMaterialInDetail bpRawMaterialInDetail) + { + return bpRawMaterialInDetailMapper.selectBpRawMaterialInDetailList(bpRawMaterialInDetail); + } + + /** + * 新增白坯原材料入库明细 + * + * @param bpRawMaterialInDetail 白坯原材料入库明细 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertBpRawMaterialInDetail(BpRawMaterialInDetail bpRawMaterialInDetail) throws ServiceException { + //获取当前所选工厂 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + String factoryCode = request.getHeader(key.substring(8)).replace("ds_", ""); + + if (bpRawMaterialInDetail.getMaterialName().isEmpty() || bpRawMaterialInDetail.getAmountReal()==null){ + throw new ServiceException("物料名称或数量不能为空"); + }else { + bpRawMaterialInDetail.setId(IdUtils.fastSimpleUUID()); + bpRawMaterialInDetail.setFactoryCode(factoryCode); + bpRawMaterialInDetail.setWaCode("白坯原料库"); + BaseProduct baseProduct = baseProductMapper.selectBaseProductByProductName(bpRawMaterialInDetail.getMaterialName()); + bpRawMaterialInDetail.setMaterialCode(baseProduct.getProductCode()); + bpRawMaterialInDetail.setUnit("吨"); + bpRawMaterialInDetail.setCreateBy(SecurityContextHolder.getUserName()); + bpRawMaterialInDetail.setGmtCreate(new Date()); + bpRawMaterialInDetailMapper.insertBpRawMaterialInDetail(bpRawMaterialInDetail); + } + //判断库存中物料是否存在 + BpRawMaterialIn bpRawMaterialIn = bpRawMaterialInMapper.selectBpRawMaterialInBymateriaName(bpRawMaterialInDetail.getMaterialName()); + if (bpRawMaterialIn==null){ + //不存在,添加库存 + BpRawMaterialIn bpRawMaterialIn1 = new BpRawMaterialIn(); + bpRawMaterialIn1.setId(IdUtils.fastSimpleUUID()); + bpRawMaterialIn1.setFactoryCode(factoryCode); + bpRawMaterialIn1.setWaCode("白坯原料库"); + bpRawMaterialIn1.setMaterialName(bpRawMaterialInDetail.getMaterialName()); + BaseProduct baseProduct = baseProductMapper.selectBaseProductByProductName(bpRawMaterialInDetail.getMaterialName()); + bpRawMaterialIn1.setMaterialCode(String.valueOf(baseProduct)); + bpRawMaterialIn1.setUnit(bpRawMaterialInDetail.getUnit()); + bpRawMaterialIn1.setAmountReal(bpRawMaterialInDetail.getAmountReal()); + bpRawMaterialInMapper.insertBpRawMaterialIn(bpRawMaterialIn1); + }else { + //物料存在,加库存 + bpRawMaterialIn.getAmountReal();//原有 + bpRawMaterialInDetail.getAmountReal();//新增 + bpRawMaterialIn.setAmountReal(bpRawMaterialIn.getAmountReal()+bpRawMaterialInDetail.getAmountReal()); + bpRawMaterialInMapper.updateBpRawMaterialIn(bpRawMaterialIn); + } + int reselt=1; + return reselt; + } + + /** + * 修改白坯原材料入库明细 + * + * @param bpRawMaterialInDetail 白坯原材料入库明细 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateBpRawMaterialInDetail(BpRawMaterialInDetail bpRawMaterialInDetail) + { + return bpRawMaterialInDetailMapper.updateBpRawMaterialInDetail(bpRawMaterialInDetail); + } + + /** + * 批量删除白坯原材料入库明细 + * + * @param ids 需要删除的白坯原材料入库明细主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteBpRawMaterialInDetailByIds(String[] ids) + { + return bpRawMaterialInDetailMapper.deleteBpRawMaterialInDetailByIds(ids); + } + + /** + * 删除白坯原材料入库明细信息 + * + * @param id 白坯原材料入库明细主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteBpRawMaterialInDetailById(String id) + { + return bpRawMaterialInDetailMapper.deleteBpRawMaterialInDetailById(id); + } +} diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/BpRawMaterialInServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/BpRawMaterialInServiceImpl.java new file mode 100644 index 000000000..84d2f6dbb --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/BpRawMaterialInServiceImpl.java @@ -0,0 +1,101 @@ +package com.op.wms.service.impl; + +import java.util.List; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.wms.domain.BpRawMaterialIn; +import com.op.wms.mapper.BpRawMaterialInMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.op.wms.service.IBpRawMaterialInService; + +/** + * 白坯原材料入库Service业务层处理 + * + * @author ruoyi + * @date 2024-10-28 + */ +@Service +public class BpRawMaterialInServiceImpl implements IBpRawMaterialInService +{ + @Autowired + private BpRawMaterialInMapper bpRawMaterialInMapper; + + /** + * 查询白坯原材料入库 + * + * @param id 白坯原材料入库主键 + * @return 白坯原材料入库 + */ + @Override + @DS("#header.poolName") + public BpRawMaterialIn selectBpRawMaterialInById(String id) + { + return bpRawMaterialInMapper.selectBpRawMaterialInById(id); + } + + /** + * 查询白坯原材料入库列表 + * + * @param bpRawMaterialIn 白坯原材料入库 + * @return 白坯原材料入库 + */ + @Override + @DS("#header.poolName") + public List selectBpRawMaterialInList(BpRawMaterialIn bpRawMaterialIn) + { + return bpRawMaterialInMapper.selectBpRawMaterialInList(bpRawMaterialIn); + } + + /** + * 新增白坯原材料入库 + * + * @param bpRawMaterialIn 白坯原材料入库 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertBpRawMaterialIn(BpRawMaterialIn bpRawMaterialIn) + { + return bpRawMaterialInMapper.insertBpRawMaterialIn(bpRawMaterialIn); + } + + /** + * 修改白坯原材料入库 + * + * @param bpRawMaterialIn 白坯原材料入库 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateBpRawMaterialIn(BpRawMaterialIn bpRawMaterialIn) + { + return bpRawMaterialInMapper.updateBpRawMaterialIn(bpRawMaterialIn); + } + + /** + * 批量删除白坯原材料入库 + * + * @param ids 需要删除的白坯原材料入库主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteBpRawMaterialInByIds(String[] ids) + { + return bpRawMaterialInMapper.deleteBpRawMaterialInByIds(ids); + } + + /** + * 删除白坯原材料入库信息 + * + * @param id 白坯原材料入库主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteBpRawMaterialInById(String id) + { + return bpRawMaterialInMapper.deleteBpRawMaterialInById(id); + } +} diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/BaseProductMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/BaseProductMapper.xml index bc8cfd7d3..0df2de904 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/BaseProductMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/BaseProductMapper.xml @@ -472,5 +472,12 @@ where bp.product_code like concat('%', #{productCode}, '%') and del_flag = '0' + diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/BpRawMaterialInDetailMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/BpRawMaterialInDetailMapper.xml new file mode 100644 index 000000000..45799ff1c --- /dev/null +++ b/op-modules/op-wms/src/main/resources/mapper/wms/BpRawMaterialInDetailMapper.xml @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_code, wa_code, wl_code, material_code, material_name, unit, supply_name, amnount_plan, amount_real, user_defined1, user_defined2, user_defined3, user_defined4, user_defined5, create_by, gmt_create, modified_by, gmt_modified from bp_raw_material_in_detail + + + + + + + + insert into bp_raw_material_in_detail + + id, + factory_code, + wa_code, + wl_code, + material_code, + material_name, + unit, + supply_name, + amnount_plan, + amount_real, + user_defined1, + user_defined2, + user_defined3, + user_defined4, + user_defined5, + create_by, + gmt_create, + modified_by, + gmt_modified, + + + #{id}, + #{factoryCode}, + #{waCode}, + #{wlCode}, + #{materialCode}, + #{materialName}, + #{unit}, + #{supplyName}, + #{amnountPlan}, + #{amountReal}, + #{userDefined1}, + #{userDefined2}, + #{userDefined3}, + #{userDefined4}, + #{userDefined5}, + #{createBy}, + #{gmtCreate}, + #{modifiedBy}, + #{gmtModified}, + + + + + update bp_raw_material_in_detail + + factory_code = #{factoryCode}, + wa_code = #{waCode}, + wl_code = #{wlCode}, + material_code = #{materialCode}, + material_name = #{materialName}, + unit = #{unit}, + supply_name = #{supplyName}, + amnount_plan = #{amnountPlan}, + amount_real = #{amountReal}, + user_defined1 = #{userDefined1}, + user_defined2 = #{userDefined2}, + user_defined3 = #{userDefined3}, + user_defined4 = #{userDefined4}, + user_defined5 = #{userDefined5}, + create_by = #{createBy}, + gmt_create = #{gmtCreate}, + modified_by = #{modifiedBy}, + gmt_modified = #{gmtModified}, + + where id = #{id} + + + + delete from bp_raw_material_in_detail where id = #{id} + + + + delete from bp_raw_material_in_detail where id in + + #{id} + + + \ No newline at end of file diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/BpRawMaterialInMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/BpRawMaterialInMapper.xml new file mode 100644 index 000000000..c13df621e --- /dev/null +++ b/op-modules/op-wms/src/main/resources/mapper/wms/BpRawMaterialInMapper.xml @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_code, wa_code, wl_code, material_code, material_name, unit, supply_name, amnount_plan, amount_real, user_defined1, user_defined2, user_defined3, user_defined4, user_defined5, create_by, gmt_create, modified_by, gmt_modified from bp_raw_material_in + + + + + + + + + insert into bp_raw_material_in + + id, + factory_code, + wa_code, + wl_code, + material_code, + material_name, + unit, + supply_name, + amnount_plan, + amount_real, + user_defined1, + user_defined2, + user_defined3, + user_defined4, + user_defined5, + create_by, + gmt_create, + modified_by, + gmt_modified, + + + #{id}, + #{factoryCode}, + #{waCode}, + #{wlCode}, + #{materialCode}, + #{materialName}, + #{unit}, + #{supplyName}, + #{amnountPlan}, + #{amountReal}, + #{userDefined1}, + #{userDefined2}, + #{userDefined3}, + #{userDefined4}, + #{userDefined5}, + #{createBy}, + #{gmtCreate}, + #{modifiedBy}, + #{gmtModified}, + + + + + update bp_raw_material_in + + factory_code = #{factoryCode}, + wa_code = #{waCode}, + wl_code = #{wlCode}, + material_code = #{materialCode}, + material_name = #{materialName}, + unit = #{unit}, + supply_name = #{supplyName}, + amnount_plan = #{amnountPlan}, + amount_real = #{amountReal}, + user_defined1 = #{userDefined1}, + user_defined2 = #{userDefined2}, + user_defined3 = #{userDefined3}, + user_defined4 = #{userDefined4}, + user_defined5 = #{userDefined5}, + create_by = #{createBy}, + gmt_create = #{gmtCreate}, + modified_by = #{modifiedBy}, + gmt_modified = #{gmtModified}, + + where id = #{id} + + + + delete from bp_raw_material_in where id = #{id} + + + + delete from bp_raw_material_in where id in + + #{id} + + + \ No newline at end of file From df21d00b9827ef4453112e00de786be18ef9bdcd Mon Sep 17 00:00:00 2001 From: Yangwl <1726150332@qq.com> Date: Wed, 30 Oct 2024 10:23:05 +0800 Subject: [PATCH 3/4] =?UTF-8?q?SAP=E7=99=BD=E5=9D=AF=E9=9C=80=E6=B1=82?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/op/sap/controller/SapController.java | 16 +++++ .../com/op/sap/mapper/SapDeviceMapper.java | 8 +++ .../com/op/sap/service/SapDeviceService.java | 10 +++ .../op/sap/service/SapItemSyncService.java | 2 + .../service/impl/SapDeviceServiceImpl.java | 72 +++++++++++++++++++ .../op/sap/service/impl/SapItemSyncImpl.java | 49 ++++++++++++- 6 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 op-modules/op-sap/src/main/java/com/op/sap/mapper/SapDeviceMapper.java create mode 100644 op-modules/op-sap/src/main/java/com/op/sap/service/SapDeviceService.java create mode 100644 op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapDeviceServiceImpl.java diff --git a/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java b/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java index f440d1036..ed2cb9fb1 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java @@ -66,6 +66,9 @@ public class SapController extends BaseController { @Autowired private SapWmsService sapWmsService; + @Autowired + private SapDeviceService sapDeviceService; + @Resource private DynamicDatasourceCreator dynamicDatasourceCreator; @Resource @@ -522,6 +525,13 @@ public class SapController extends BaseController { return sapItemSyncService.sap105temporarilyCollected(mapList); } +/*******************设备*****************/ + @PostMapping("/sapZmesAnlaGet") + @Log(title = "设备同步接口", businessType = BusinessType.SAP) + public R sapZmesAnlaGet(@RequestBody(required = false) Map paramMap) { + return sapDeviceService.sapZmesAnlaGet(paramMap); + } + @PostMapping("/addDatasource") public R addDatasource(@RequestBody DataSourcePropertyDTO dto){ DataSourceProperty dataSourceProperty = new DataSourceProperty(); @@ -538,5 +548,11 @@ public class SapController extends BaseController { return R.ok(); } + //白坯的未清采购订单数量 ZMES_PURWQ_GET + @PostMapping("/ZmesPurwqGet") + @Log(title = "白坯的未清采购订单数量", businessType = BusinessType.SAP) + public R ZmesPurwqGet(@RequestBody(required = false) Map paramMap) { + return sapItemSyncService.ZmesPurwqGet(paramMap); + } } diff --git a/op-modules/op-sap/src/main/java/com/op/sap/mapper/SapDeviceMapper.java b/op-modules/op-sap/src/main/java/com/op/sap/mapper/SapDeviceMapper.java new file mode 100644 index 000000000..30d688499 --- /dev/null +++ b/op-modules/op-sap/src/main/java/com/op/sap/mapper/SapDeviceMapper.java @@ -0,0 +1,8 @@ +package com.op.sap.mapper; + +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface SapDeviceMapper { + +} diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/SapDeviceService.java b/op-modules/op-sap/src/main/java/com/op/sap/service/SapDeviceService.java new file mode 100644 index 000000000..4eb4851f4 --- /dev/null +++ b/op-modules/op-sap/src/main/java/com/op/sap/service/SapDeviceService.java @@ -0,0 +1,10 @@ +package com.op.sap.service; + +import com.op.common.core.domain.R; + +import java.util.Map; + +public interface SapDeviceService { + + R sapZmesAnlaGet(Map paramMap); +} diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/SapItemSyncService.java b/op-modules/op-sap/src/main/java/com/op/sap/service/SapItemSyncService.java index 7c1469b14..594f77326 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/service/SapItemSyncService.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/service/SapItemSyncService.java @@ -40,4 +40,6 @@ public interface SapItemSyncService { R temporarilyCollected(List mapList); R sap105temporarilyCollected(List mapList); + + R ZmesPurwqGet(Map paramMap); } diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapDeviceServiceImpl.java b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapDeviceServiceImpl.java new file mode 100644 index 000000000..ac6ae6396 --- /dev/null +++ b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapDeviceServiceImpl.java @@ -0,0 +1,72 @@ +package com.op.sap.service.impl; + + +import com.alibaba.fastjson2.JSONObject; +import com.op.common.core.constant.Constants; +import com.op.common.core.domain.R; +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.sap.mapper.SapDeviceMapper; +import com.op.sap.service.SapDeviceService; +import com.op.system.api.domain.quality.QcCheckTaskIncomeDTO; +import com.sap.conn.jco.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.stereotype.Service; + +import javax.validation.Validator; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Component +@Service +public class SapDeviceServiceImpl implements SapDeviceService { + @Autowired + private SapDeviceMapper sapDeviceMapper; + @Autowired + protected Validator validator; + + @Autowired + private JCoDestination dest; + + private static final Logger log = LoggerFactory.getLogger(SapItemSyncImpl.class); + + + @Override + public R sapZmesAnlaGet(Map paramMap) { + try { + JCoRepository repository = dest.getRepository(); + JCoFunction func = repository.getFunction("ZMES_ANLA_GET"); + if (func == null) { + throw new RuntimeException("Function does not exist in SAP"); + } + log.info("设备同步参数-------" + paramMap.toString()); + //参数 + JCoParameterList jCoParameterList = func.getImportParameterList(); + jCoParameterList.setValue("P_SERNR", paramMap.get("P_SERNR")); + func.execute(dest);//执行调用函数 + JCoTable maraTable = func.getTableParameterList().getTable("L_ANLA"); + for (int i = 0; i < maraTable.getNumRows(); i++) { + maraTable.setRow(i); + String BUKRS = maraTable.getString("BUKRS"); + String ANLN1 = maraTable.getString("ANLN1"); + String ANLN2 = maraTable.getString("ANLN2"); + String TXT50 = maraTable.getString("TXT50"); + String SERNR = maraTable.getString("SERNR"); + String INVZU = maraTable.getString("INVZU"); + System.out.println("公司代码"+BUKRS+"主资产号"+ANLN1+"资产次级编号"+ANLN2+"资产描述"+TXT50+"序列号"+SERNR+"补充库存说明"+INVZU); + } + return R.ok(); + + } catch (Exception e) { + log.error(e.getMessage()); + return R.fail(e.getMessage()); + } + } +} diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java index 0884afda8..83d9b05f8 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java @@ -10,6 +10,7 @@ import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.bean.BeanValidators; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.security.utils.SecurityUtils; +import com.op.sap.domain.vo.SapWBDemand; import com.op.system.api.domain.quality.QcCheckTaskIncomeDTO; import com.op.system.api.domain.sap.SapBackflushMPQuery; import com.op.sap.domain.vo.SapItemQuery; @@ -208,7 +209,7 @@ public class SapItemSyncImpl implements SapItemSyncService { baseProduct.setUpdateBy(SecurityUtils.getUsername()); sapBaseProductList.add(baseProduct); } - //this.importProducts(sapBaseProductList) + return R.ok(this.importProducts(sapBaseProductList,sapItemQuery.getWerks())); } catch (Exception e) { return R.fail(e.getMessage()); @@ -809,5 +810,51 @@ public class SapItemSyncImpl implements SapItemSyncService { } } + @Override + public R ZmesPurwqGet(Map paramMap) { + try { + JCoRepository repository = dest.getRepository(); + JCoFunction func = repository.getFunction("ZMES_PURWQ_GET"); + if (func == null) { + throw new RuntimeException("Function does not exist in SAP"); + } + log.info("白坯的未清采购订单数量-------" + paramMap.toString()); + //参数 + JCoParameterList jCoParameterList = func.getImportParameterList(); + jCoParameterList.setValue("P_WERKS", paramMap.get("werks")); + func.execute(dest);//执行调用函数 + JCoTable maraTable = func.getTableParameterList().getTable("LT_PURWQ"); + String RETCODE = func.getExportParameterList().getString("RETCODE"); + String RETMSG = func.getExportParameterList().getString("RETMSG"); + List sapWBDemandList=new ArrayList<>(); + + if(Constants.LOGIN_SUCCESS_STATUS.equals(RETCODE)){ + for (int i = 0; i < maraTable.getNumRows(); i++) { + maraTable.setRow(i); + SapWBDemand sapWBDemand=new SapWBDemand(); + String WERKS = maraTable.getString("WERKS");///工厂 + String MATNR = maraTable.getString("MATNR");//物料号 + String MAKTX = maraTable.getString("MAKTX");//物料描述 + Double MENGE = maraTable.getDouble("MENGE");//数量 + String MEINS = maraTable.getString("MEINS");//单位 + Date BEDAT = maraTable.getDate("BEDAT");//最早的采购订单日期 + sapWBDemand.setWerks(WERKS); + sapWBDemand.setMatnr(MATNR); + sapWBDemand.setMaktx(MAKTX); + sapWBDemand.setMenge(MENGE); + sapWBDemand.setMeins(MEINS); + sapWBDemand.setBedat(BEDAT); + sapWBDemandList.add(sapWBDemand); + } + return R.ok(sapWBDemandList,RETMSG); + }else { + return R.fail(RETMSG); + } + + } catch (Exception e) { + log.error(e.getMessage()); + return R.fail(e.getMessage()); + } + } } From a52a4eab626f43759d28527b68d8ee35202c4982 Mon Sep 17 00:00:00 2001 From: Yangwl <1726150332@qq.com> Date: Wed, 30 Oct 2024 11:17:27 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E7=99=BD=E5=9D=AF=E9=9C=80=E6=B1=82?= =?UTF-8?q?=E5=AE=9E=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/op/sap/domain/vo/SapWBDemand.java | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 op-modules/op-sap/src/main/java/com/op/sap/domain/vo/SapWBDemand.java diff --git a/op-modules/op-sap/src/main/java/com/op/sap/domain/vo/SapWBDemand.java b/op-modules/op-sap/src/main/java/com/op/sap/domain/vo/SapWBDemand.java new file mode 100644 index 000000000..ed2784fa5 --- /dev/null +++ b/op-modules/op-sap/src/main/java/com/op/sap/domain/vo/SapWBDemand.java @@ -0,0 +1,60 @@ +package com.op.sap.domain.vo; + +import java.util.Date; + +public class SapWBDemand { + private String werks;///工厂 + private String matnr;//物料号 + private String maktx;//物料描述 + private Double menge;//数量 + private String meins;//单位 + private Date bedat;//最早的采购订单日期 + + public String getWerks() { + return werks; + } + + public void setWerks(String werks) { + this.werks = werks; + } + + public String getMatnr() { + return matnr; + } + + public void setMatnr(String matnr) { + this.matnr = matnr; + } + + public String getMaktx() { + return maktx; + } + + public void setMaktx(String maktx) { + this.maktx = maktx; + } + + public Double getMenge() { + return menge; + } + + public void setMenge(Double menge) { + this.menge = menge; + } + + public String getMeins() { + return meins; + } + + public void setMeins(String meins) { + this.meins = meins; + } + + public Date getBedat() { + return bedat; + } + + public void setBedat(Date bedat) { + this.bedat = bedat; + } +}