diff --git a/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseMaterialInfo.java b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseMaterialInfo.java index 2a7c7eeb..ef7f5f8b 100644 --- a/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseMaterialInfo.java +++ b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseMaterialInfo.java @@ -125,6 +125,17 @@ public class MesBaseMaterialInfo extends BaseEntity private Long warehouseId; + /** 采购计价单位;对应FPurchasePriceUnitId */ + private Long purchasePriceUnitId; + + public Long getPurchasePriceUnitId() { + return purchasePriceUnitId; + } + + public void setPurchasePriceUnitId(Long purchasePriceUnitId) { + this.purchasePriceUnitId = purchasePriceUnitId; + } + public String getMaterialTypeName() { return materialTypeName; } diff --git a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesBaseUnitInfo.java b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesBaseUnitInfo.java new file mode 100644 index 00000000..188f8e6b --- /dev/null +++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesBaseUnitInfo.java @@ -0,0 +1,136 @@ +package com.hw.jindie.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.hw.common.core.annotation.Excel; +import com.hw.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + +/** + * 单位信息对象 mes_base_unit_info + * + * @author Yinq + * @date 2024-07-24 + */ +public class MesBaseUnitInfo extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + private Long unitId; + + /** + * 供应商编号;对应FNumber + */ + @Excel(name = "供应商编号;对应FNumber") + private String unitCode; + + /** + * 供应商名称;对应FName + */ + @Excel(name = "供应商名称;对应FName") + private String unitName; + + /** + * erp的主键;对应FUnitId + */ + @Excel(name = "erp的主键;对应FUnitId") + private Long erpId; + + /** + * 单位状态:1-启用;0-停用 + */ + @Excel(name = "单位状态:1-启用;0-停用") + private String unitStatus; + + /** + * 审核日期;对应FAuditDate + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "审核日期;对应FAuditDate", width = 30, dateFormat = "yyyy-MM-dd") + private Date auditDate; + + /** + * erp最后更新时间;对应FModifyDate + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "erp最后更新时间;对应FModifyDate", width = 30, dateFormat = "yyyy-MM-dd") + private Date erpModifyDate; + + public void setUnitId(Long unitId) { + this.unitId = unitId; + } + + public Long getUnitId() { + return unitId; + } + + public void setUnitCode(String unitCode) { + this.unitCode = unitCode; + } + + public String getUnitCode() { + return unitCode; + } + + public void setUnitName(String unitName) { + this.unitName = unitName; + } + + public String getUnitName() { + return unitName; + } + + public void setErpId(Long erpId) { + this.erpId = erpId; + } + + public Long getErpId() { + return erpId; + } + + public void setUnitStatus(String unitStatus) { + this.unitStatus = unitStatus; + } + + public String getUnitStatus() { + return unitStatus; + } + + public void setAuditDate(Date auditDate) { + this.auditDate = auditDate; + } + + public Date getAuditDate() { + return auditDate; + } + + public void setErpModifyDate(Date erpModifyDate) { + this.erpModifyDate = erpModifyDate; + } + + public Date getErpModifyDate() { + return erpModifyDate; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("unitId", getUnitId()) + .append("unitCode", getUnitCode()) + .append("unitName", getUnitName()) + .append("erpId", getErpId()) + .append("unitStatus", getUnitStatus()) + .append("remark", getRemark()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("auditDate", getAuditDate()) + .append("erpModifyDate", getErpModifyDate()) + .toString(); + } +} diff --git a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/mapper/MesBaseUnitInfoMapper.java b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/mapper/MesBaseUnitInfoMapper.java new file mode 100644 index 00000000..de914495 --- /dev/null +++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/mapper/MesBaseUnitInfoMapper.java @@ -0,0 +1,63 @@ +package com.hw.jindie.mapper; + +import com.hw.jindie.domain.MesBaseUnitInfo; + +import java.util.List; + +/** + * 单位信息Mapper接口 + * + * @author Yinq + * @date 2024-07-24 + */ +public interface MesBaseUnitInfoMapper { + /** + * 查询单位信息 + * + * @param unitId 单位信息主键 + * @return 单位信息 + */ + public MesBaseUnitInfo selectMesBaseUnitInfoByUnitId(Long unitId); + + public MesBaseUnitInfo selectMesBaseUnitInfoByErpId(Long erpId); + + /** + * 查询单位信息列表 + * + * @param mesBaseUnitInfo 单位信息 + * @return 单位信息集合 + */ + public List selectMesBaseUnitInfoList(MesBaseUnitInfo mesBaseUnitInfo); + + /** + * 新增单位信息 + * + * @param mesBaseUnitInfo 单位信息 + * @return 结果 + */ + public int insertMesBaseUnitInfo(MesBaseUnitInfo mesBaseUnitInfo); + + /** + * 修改单位信息 + * + * @param mesBaseUnitInfo 单位信息 + * @return 结果 + */ + public int updateMesBaseUnitInfo(MesBaseUnitInfo mesBaseUnitInfo); + + /** + * 删除单位信息 + * + * @param unitId 单位信息主键 + * @return 结果 + */ + public int deleteMesBaseUnitInfoByUnitId(Long unitId); + + /** + * 批量删除单位信息 + * + * @param unitIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteMesBaseUnitInfoByUnitIds(Long[] unitIds); +} diff --git a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/impl/KingdeeErpService.java b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/impl/KingdeeErpService.java index 4a86c055..d0e220b7 100644 --- a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/impl/KingdeeErpService.java +++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/impl/KingdeeErpService.java @@ -45,6 +45,7 @@ public class KingdeeErpService { JSONObject FEntity = new JSONObject(); String FMaterialId = (String) objectParams.get("FMaterialId");//物料编码 String FUnitId = (String) objectParams.get("FUnitId");//单位 + String FPriceUnitId = (String) objectParams.get("FPriceUnitId");//计价单位 String FMaterialDesc = (String) objectParams.get("FMaterialDesc");//物料说明 Double FReqQty = (Double) objectParams.get("FReqQty");//采购数量 Double FTAXPRICE = (Double) objectParams.get("FTAXPRICE");//含税单价 @@ -60,15 +61,17 @@ public class KingdeeErpService { JSONObject FUnitIdObject = new JSONObject(); FUnitIdObject.put("FNumber", FUnitId); FEntity.put("FUnitId", FUnitIdObject); //申请单位(必填项) - FEntity.put("FPriceUnitId", FUnitIdObject); //计价单位(必填项) + JSONObject FPriceUnitIdObject = new JSONObject(); + FPriceUnitIdObject.put("FNumber", FPriceUnitId); + FEntity.put("FPriceUnitId", FPriceUnitIdObject); //计价单位(必填项) FEntity.put("FREQSTOCKUNITID", FUnitIdObject); //库存单位(必填项) FEntity.put("FReqQty", FReqQty); //申请数量 - FEntity.put("FMaterialDesc", FMaterialDesc); //物料说明 +// FEntity.put("FMaterialDesc", FMaterialDesc); //物料说明 // FEntity.put("FReceiveOrgId", KingdeeConfig.getFApplicationOrgId()); //收料组织 // FEntity.put("FApproveQty", FReqQty); //批准数量 // FEntity.put("FEvaluatePrice", 0.0); //单价 - FEntity.put("FTAXPRICE", FTAXPRICE); //含税单价 +// FEntity.put("FTAXPRICE", FTAXPRICE); //含税单价 // FEntity.put("FTAXRATE", 0.0); //税率% // FEntity.put("FPriceUnitQty", FReqQty); //计价数量 // FEntity.put("FREQSTOCKQTY", FReqQty); //库存单位数量 diff --git a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/impl/KingdeeErpSyncServiceImpl.java b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/impl/KingdeeErpSyncServiceImpl.java index b2d41e72..3dc4b11b 100644 --- a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/impl/KingdeeErpSyncServiceImpl.java +++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/impl/KingdeeErpSyncServiceImpl.java @@ -36,6 +36,8 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService { private MesSaleOrderMapper mesSaleOrderMapper; @Autowired private MesPurchaseOrderMapper mesPurchaseOrderMapper; + @Autowired + private MesBaseUnitInfoMapper mesBaseUnitInfoMapper; private static final int limit = 100; @@ -82,16 +84,6 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService { } System.out.println(queryJson.toString()); -// if (StringUtils.isNotEmpty(beginTime) && StringUtils.isNotEmpty(endTime)) { -// String filterString = "FCreateDate >'" + beginTime + "' AND '" + endTime + "' >FCreateDate"; -// queryJson.put("FilterString", filterString); -// } -// System.out.println(queryJson.toString()); - -// "FieldKeys": "FNumber,FName,FBaseUnitId,FSpecification,FNETWEIGHT,FGROSSWEIGHT,FCreateDate,FModifyDate,FApproveDate", -// "FilterString": "FDocumentStatus='C' AND FCreateDate>'2022-01-01' and FMaterialGroup.FNUMBER IN ('28')", - - String result = api.billQuery(queryJson.toString()); if (StringUtils.isEmpty(result)) { return 1; @@ -102,84 +94,73 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService { return 1; } -// List toInsertSupplierInfoList = new ArrayList<>(); -// List toUpdateSupplierInfoList = new ArrayList<>(); -// Date currentDate = new Date(); -// for (int i = 0; i < resultArray.size(); i++) { -// try { -// JSONObject resultObject = (JSONObject) resultArray.get(i); -// MesBaseSupplierInfo mesBaseSupplierInfo = new MesBaseSupplierInfo(); -// //供应商编号 -// String FNumber = resultObject.getString("FNumber"); -// //供应商名称 -// String FName = resultObject.getString("FName"); -// //erp主键id -// Long erpId = resultObject.getLong("FSupplierId"); -// //创建时间 -// String FCreateDate = resultObject.getString("FCreateDate"); -// //更新时间 -// String FModifyDate = resultObject.getString("FModifyDate"); -// //审核日期 -// String FAuditDate = resultObject.getString("FAuditDate"); -// -// mesBaseSupplierInfo.setErpId(erpId); -// mesBaseSupplierInfo.setSupplierCode(FNumber); -// mesBaseSupplierInfo.setSupplierName(FName); -// -// //供应商状态 -// mesBaseSupplierInfo.setSupplierStatus("1"); -// mesBaseSupplierInfo.setUpdateTime(currentDate); -// -// if (StringUtils.isNotEmpty(FCreateDate)) { -// mesBaseSupplierInfo.setCreateTime(conversionERPTime(FCreateDate)); -// } -// if (StringUtils.isNotEmpty(FModifyDate)) { -// mesBaseSupplierInfo.setErpModifyDate(conversionERPTime(FModifyDate)); -// } -// if (StringUtils.isNotEmpty(FAuditDate)) { -// mesBaseSupplierInfo.setAuditDate(conversionERPTime(FAuditDate)); -// } -// -// MesBaseSupplierInfo existedMesBaseSupplierInfo = mesBaseSupplierInfoMapper.selectMesBaseSupplierInfoByErpId(erpId); -// -// if (existedMesBaseSupplierInfo != null) { -// mesBaseSupplierInfo.setSupplierId(existedMesBaseSupplierInfo.getSupplierId()); -// toUpdateSupplierInfoList.add(mesBaseSupplierInfo); -// } else { -// toInsertSupplierInfoList.add(mesBaseSupplierInfo); -// } -// -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// -// -// if (!toInsertSupplierInfoList.isEmpty()) { -// mesBaseSupplierInfoMapper.batchMesBaseSupplierInfo(toInsertSupplierInfoList); -// } -// if (!toUpdateSupplierInfoList.isEmpty()) { -// for (MesBaseSupplierInfo toUpdatedSupplierInfo : toUpdateSupplierInfoList) { -// mesBaseSupplierInfoMapper.updateMesBaseSupplierInfo(toUpdatedSupplierInfo); -// } -// } + List toInsertSupplierInfoList = new ArrayList<>(); + List toUpdateSupplierInfoList = new ArrayList<>(); + Date currentDate = new Date(); + for (int i = 0; i < resultArray.size(); i++) { + try { + JSONObject resultObject = (JSONObject) resultArray.get(i); + MesBaseUnitInfo baseUnitInfo = new MesBaseUnitInfo(); + //主键 + Long FUnitId = resultObject.getLong("FUnitId"); + //编号 + String FNumber = resultObject.getString("FNumber"); + //描述 + String FName = resultObject.getString("FName"); + //创建时间 + String FCreateDate = resultObject.getString("FCreateDate"); + //更新时间 + String FModifyDate = resultObject.getString("FModifyDate"); + + baseUnitInfo.setUnitCode(FNumber); + baseUnitInfo.setErpId(FUnitId); + baseUnitInfo.setUnitName(FName); + baseUnitInfo.setUnitStatus("1"); + baseUnitInfo.setUpdateTime(currentDate); + if (StringUtils.isNotEmpty(FCreateDate)) { + baseUnitInfo.setCreateTime(conversionERPTime(FCreateDate)); + } + if (StringUtils.isNotEmpty(FModifyDate)) { + baseUnitInfo.setErpModifyDate(conversionERPTime(FModifyDate)); + } + + MesBaseUnitInfo existedUnitInfo = mesBaseUnitInfoMapper.selectMesBaseUnitInfoByErpId(FUnitId); + + if (existedUnitInfo != null) { + baseUnitInfo.setUnitId(existedUnitInfo.getUnitId()); + toUpdateSupplierInfoList.add(baseUnitInfo); + } else { + toInsertSupplierInfoList.add(baseUnitInfo); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + + if (!toInsertSupplierInfoList.isEmpty()) { + for (MesBaseUnitInfo mesBaseUnitInfo : toInsertSupplierInfoList) { + mesBaseUnitInfoMapper.insertMesBaseUnitInfo(mesBaseUnitInfo); + } + } + + if (!toUpdateSupplierInfoList.isEmpty()) { + for (MesBaseUnitInfo toUpdatedUnitInfo : toUpdateSupplierInfoList) { + mesBaseUnitInfoMapper.updateMesBaseUnitInfo(toUpdatedUnitInfo); + } + } System.out.println("size:" + resultArray.size()); System.out.println(resultArray); //如果返回的数组的数量等于分页数量,则继续获取下一页数据 -// if (resultArray.size() == limit) { -//// System.out.println(startRow); -// //通过递归同步所有供应商,测试先不用 -// int i = syncSupplierInfoFromErp(startRow + resultArray.size(), maxErpModifyDate); -//// return i; -// return 1; -// } else { -// //为空时的总行数 -// return startRow + resultArray.size(); -// } - - - return 0; + if (resultArray.size() == limit) { + //通过递归同步所有供应商,测试先不用 + int i = syncUnitInfoFromErp(startRow + resultArray.size(), maxErpModifyDate); + return 1; + } else { + //为空时的总行数 + return startRow + resultArray.size(); + } } diff --git a/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesBaseUnitInfoMapper.xml b/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesBaseUnitInfoMapper.xml new file mode 100644 index 00000000..d18086f9 --- /dev/null +++ b/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesBaseUnitInfoMapper.xml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + select unit_id, + unit_code, + unit_name, + erp_id, + unit_status, + remark, + create_by, + create_time, + update_by, + update_time, + audit_date, + erp_modify_date + from mes_base_unit_info + + + + + + + + + insert into mes_base_unit_info + + unit_code, + unit_name, + erp_id, + unit_status, + remark, + create_by, + create_time, + update_by, + update_time, + audit_date, + erp_modify_date, + + + #{unitCode}, + #{unitName}, + #{erpId}, + #{unitStatus}, + #{remark}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{auditDate}, + #{erpModifyDate}, + + + + + update mes_base_unit_info + + unit_code = #{unitCode}, + unit_name = #{unitName}, + erp_id = #{erpId}, + unit_status = #{unitStatus}, + remark = #{remark}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + audit_date = #{auditDate}, + erp_modify_date = #{erpModifyDate}, + + where unit_id = #{unitId} + + + + delete + from mes_base_unit_info + where unit_id = #{unitId} + + + + delete from mes_base_unit_info where unit_id in + + #{unitId} + + + \ No newline at end of file diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseUnitInfoController.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseUnitInfoController.java new file mode 100644 index 00000000..6069445a --- /dev/null +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseUnitInfoController.java @@ -0,0 +1,99 @@ +package com.hw.mes.controller; + +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; + +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.hw.common.log.annotation.Log; +import com.hw.common.log.enums.BusinessType; +import com.hw.common.security.annotation.RequiresPermissions; +import com.hw.mes.domain.MesBaseUnitInfo; +import com.hw.mes.service.IMesBaseUnitInfoService; +import com.hw.common.core.web.controller.BaseController; +import com.hw.common.core.web.domain.AjaxResult; +import com.hw.common.core.utils.poi.ExcelUtil; +import com.hw.common.core.web.page.TableDataInfo; + +/** + * 单位信息Controller + * + * @author Yinq + * @date 2024-07-24 + */ +@RestController +@RequestMapping("/mesBaseUnitInfo") +public class MesBaseUnitInfoController extends BaseController { + @Autowired + private IMesBaseUnitInfoService mesBaseUnitInfoService; + + /** + * 查询单位信息列表 + */ + @RequiresPermissions("mes:mesBaseUnitInfo:list") + @GetMapping("/list") + public TableDataInfo list(MesBaseUnitInfo mesBaseUnitInfo) { + startPage(); + List list = mesBaseUnitInfoService.selectMesBaseUnitInfoList(mesBaseUnitInfo); + return getDataTable(list); + } + + /** + * 导出单位信息列表 + */ + @RequiresPermissions("mes:mesBaseUnitInfo:export") + @Log(title = "单位信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MesBaseUnitInfo mesBaseUnitInfo) { + List list = mesBaseUnitInfoService.selectMesBaseUnitInfoList(mesBaseUnitInfo); + ExcelUtil util = new ExcelUtil(MesBaseUnitInfo.class); + util.exportExcel(response, list, "单位信息数据"); + } + + /** + * 获取单位信息详细信息 + */ + @RequiresPermissions("mes:mesBaseUnitInfo:query") + @GetMapping(value = "/{unitId}") + public AjaxResult getInfo(@PathVariable("unitId") Long unitId) { + return success(mesBaseUnitInfoService.selectMesBaseUnitInfoByUnitId(unitId)); + } + + /** + * 新增单位信息 + */ + @RequiresPermissions("mes:mesBaseUnitInfo:add") + @Log(title = "单位信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody MesBaseUnitInfo mesBaseUnitInfo) { + return toAjax(mesBaseUnitInfoService.insertMesBaseUnitInfo(mesBaseUnitInfo)); + } + + /** + * 修改单位信息 + */ + @RequiresPermissions("mes:mesBaseUnitInfo:edit") + @Log(title = "单位信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody MesBaseUnitInfo mesBaseUnitInfo) { + return toAjax(mesBaseUnitInfoService.updateMesBaseUnitInfo(mesBaseUnitInfo)); + } + + /** + * 删除单位信息 + */ + @RequiresPermissions("mes:mesBaseUnitInfo:remove") + @Log(title = "单位信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{unitIds}") + public AjaxResult remove(@PathVariable Long[] unitIds) { + return toAjax(mesBaseUnitInfoService.deleteMesBaseUnitInfoByUnitIds(unitIds)); + } +} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseUnitInfo.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseUnitInfo.java new file mode 100644 index 00000000..ae4cd1c7 --- /dev/null +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseUnitInfo.java @@ -0,0 +1,136 @@ +package com.hw.mes.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.hw.common.core.annotation.Excel; +import com.hw.common.core.web.domain.BaseEntity; + +/** + * 单位信息对象 mes_base_unit_info + * + * @author Yinq + * @date 2024-07-24 + */ +public class MesBaseUnitInfo extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + private Long unitId; + + /** + * 供应商编号;对应FNumber + */ + @Excel(name = "供应商编号;对应FNumber") + private String unitCode; + + /** + * 供应商名称;对应FName + */ + @Excel(name = "供应商名称;对应FName") + private String unitName; + + /** + * erp的主键;对应FUnitId + */ + @Excel(name = "erp的主键;对应FUnitId") + private Long erpId; + + /** + * 单位状态:1-启用;0-停用 + */ + @Excel(name = "单位状态:1-启用;0-停用") + private String unitStatus; + + /** + * 审核日期;对应FAuditDate + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "审核日期;对应FAuditDate", width = 30, dateFormat = "yyyy-MM-dd") + private Date auditDate; + + /** + * erp最后更新时间;对应FModifyDate + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "erp最后更新时间;对应FModifyDate", width = 30, dateFormat = "yyyy-MM-dd") + private Date erpModifyDate; + + public void setUnitId(Long unitId) { + this.unitId = unitId; + } + + public Long getUnitId() { + return unitId; + } + + public void setUnitCode(String unitCode) { + this.unitCode = unitCode; + } + + public String getUnitCode() { + return unitCode; + } + + public void setUnitName(String unitName) { + this.unitName = unitName; + } + + public String getUnitName() { + return unitName; + } + + public void setErpId(Long erpId) { + this.erpId = erpId; + } + + public Long getErpId() { + return erpId; + } + + public void setUnitStatus(String unitStatus) { + this.unitStatus = unitStatus; + } + + public String getUnitStatus() { + return unitStatus; + } + + public void setAuditDate(Date auditDate) { + this.auditDate = auditDate; + } + + public Date getAuditDate() { + return auditDate; + } + + public void setErpModifyDate(Date erpModifyDate) { + this.erpModifyDate = erpModifyDate; + } + + public Date getErpModifyDate() { + return erpModifyDate; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("unitId", getUnitId()) + .append("unitCode", getUnitCode()) + .append("unitName", getUnitName()) + .append("erpId", getErpId()) + .append("unitStatus", getUnitStatus()) + .append("remark", getRemark()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("auditDate", getAuditDate()) + .append("erpModifyDate", getErpModifyDate()) + .toString(); + } +} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseUnitInfoMapper.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseUnitInfoMapper.java new file mode 100644 index 00000000..fb3cede5 --- /dev/null +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseUnitInfoMapper.java @@ -0,0 +1,62 @@ +package com.hw.mes.mapper; + +import java.util.List; + +import com.hw.mes.domain.MesBaseUnitInfo; + +/** + * 单位信息Mapper接口 + * + * @author Yinq + * @date 2024-07-24 + */ +public interface MesBaseUnitInfoMapper { + /** + * 查询单位信息 + * + * @param unitId 单位信息主键 + * @return 单位信息 + */ + public MesBaseUnitInfo selectMesBaseUnitInfoByUnitId(Long unitId); + + public MesBaseUnitInfo selectMesBaseUnitInfoByErpId(Long erpId); + /** + * 查询单位信息列表 + * + * @param mesBaseUnitInfo 单位信息 + * @return 单位信息集合 + */ + public List selectMesBaseUnitInfoList(MesBaseUnitInfo mesBaseUnitInfo); + + /** + * 新增单位信息 + * + * @param mesBaseUnitInfo 单位信息 + * @return 结果 + */ + public int insertMesBaseUnitInfo(MesBaseUnitInfo mesBaseUnitInfo); + + /** + * 修改单位信息 + * + * @param mesBaseUnitInfo 单位信息 + * @return 结果 + */ + public int updateMesBaseUnitInfo(MesBaseUnitInfo mesBaseUnitInfo); + + /** + * 删除单位信息 + * + * @param unitId 单位信息主键 + * @return 结果 + */ + public int deleteMesBaseUnitInfoByUnitId(Long unitId); + + /** + * 批量删除单位信息 + * + * @param unitIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteMesBaseUnitInfoByUnitIds(Long[] unitIds); +} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseUnitInfoService.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseUnitInfoService.java new file mode 100644 index 00000000..a64c753c --- /dev/null +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseUnitInfoService.java @@ -0,0 +1,61 @@ +package com.hw.mes.service; + +import java.util.List; + +import com.hw.mes.domain.MesBaseUnitInfo; + +/** + * 单位信息Service接口 + * + * @author Yinq + * @date 2024-07-24 + */ +public interface IMesBaseUnitInfoService { + /** + * 查询单位信息 + * + * @param unitId 单位信息主键 + * @return 单位信息 + */ + public MesBaseUnitInfo selectMesBaseUnitInfoByUnitId(Long unitId); + + /** + * 查询单位信息列表 + * + * @param mesBaseUnitInfo 单位信息 + * @return 单位信息集合 + */ + public List selectMesBaseUnitInfoList(MesBaseUnitInfo mesBaseUnitInfo); + + /** + * 新增单位信息 + * + * @param mesBaseUnitInfo 单位信息 + * @return 结果 + */ + public int insertMesBaseUnitInfo(MesBaseUnitInfo mesBaseUnitInfo); + + /** + * 修改单位信息 + * + * @param mesBaseUnitInfo 单位信息 + * @return 结果 + */ + public int updateMesBaseUnitInfo(MesBaseUnitInfo mesBaseUnitInfo); + + /** + * 批量删除单位信息 + * + * @param unitIds 需要删除的单位信息主键集合 + * @return 结果 + */ + public int deleteMesBaseUnitInfoByUnitIds(Long[] unitIds); + + /** + * 删除单位信息信息 + * + * @param unitId 单位信息主键 + * @return 结果 + */ + public int deleteMesBaseUnitInfoByUnitId(Long unitId); +} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseUnitInfoServiceImpl.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseUnitInfoServiceImpl.java new file mode 100644 index 00000000..9fd5eda3 --- /dev/null +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseUnitInfoServiceImpl.java @@ -0,0 +1,90 @@ +package com.hw.mes.service.impl; + +import java.util.List; + +import com.hw.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.hw.mes.mapper.MesBaseUnitInfoMapper; +import com.hw.mes.domain.MesBaseUnitInfo; +import com.hw.mes.service.IMesBaseUnitInfoService; + +/** + * 单位信息Service业务层处理 + * + * @author Yinq + * @date 2024-07-24 + */ +@Service +public class MesBaseUnitInfoServiceImpl implements IMesBaseUnitInfoService { + @Autowired + private MesBaseUnitInfoMapper mesBaseUnitInfoMapper; + + /** + * 查询单位信息 + * + * @param unitId 单位信息主键 + * @return 单位信息 + */ + @Override + public MesBaseUnitInfo selectMesBaseUnitInfoByUnitId(Long unitId) { + return mesBaseUnitInfoMapper.selectMesBaseUnitInfoByUnitId(unitId); + } + + /** + * 查询单位信息列表 + * + * @param mesBaseUnitInfo 单位信息 + * @return 单位信息 + */ + @Override + public List selectMesBaseUnitInfoList(MesBaseUnitInfo mesBaseUnitInfo) { + return mesBaseUnitInfoMapper.selectMesBaseUnitInfoList(mesBaseUnitInfo); + } + + /** + * 新增单位信息 + * + * @param mesBaseUnitInfo 单位信息 + * @return 结果 + */ + @Override + public int insertMesBaseUnitInfo(MesBaseUnitInfo mesBaseUnitInfo) { + mesBaseUnitInfo.setCreateTime(DateUtils.getNowDate()); + return mesBaseUnitInfoMapper.insertMesBaseUnitInfo(mesBaseUnitInfo); + } + + /** + * 修改单位信息 + * + * @param mesBaseUnitInfo 单位信息 + * @return 结果 + */ + @Override + public int updateMesBaseUnitInfo(MesBaseUnitInfo mesBaseUnitInfo) { + mesBaseUnitInfo.setUpdateTime(DateUtils.getNowDate()); + return mesBaseUnitInfoMapper.updateMesBaseUnitInfo(mesBaseUnitInfo); + } + + /** + * 批量删除单位信息 + * + * @param unitIds 需要删除的单位信息主键 + * @return 结果 + */ + @Override + public int deleteMesBaseUnitInfoByUnitIds(Long[] unitIds) { + return mesBaseUnitInfoMapper.deleteMesBaseUnitInfoByUnitIds(unitIds); + } + + /** + * 删除单位信息信息 + * + * @param unitId 单位信息主键 + * @return 结果 + */ + @Override + public int deleteMesBaseUnitInfoByUnitId(Long unitId) { + return mesBaseUnitInfoMapper.deleteMesBaseUnitInfoByUnitId(unitId); + } +} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesImportImpl.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesImportImpl.java index 84db9e13..682390a9 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesImportImpl.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesImportImpl.java @@ -11,17 +11,17 @@ import com.hw.common.security.utils.SecurityUtils; import com.hw.jindie.api.RemoteJindieService; import com.hw.mes.api.RemoteMesService; import com.hw.mes.api.domain.MesBaseMaterialInfo; +import com.hw.mes.domain.MesBaseUnitInfo; import com.hw.mes.domain.MesPurchaseRequisitionTemplate; +import com.hw.mes.mapper.MesBaseUnitInfoMapper; import com.hw.mes.service.IMesBaseMaterialInfoService; import com.hw.mes.service.IMesImportService; -import com.hw.system.api.domain.SysUser; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import javax.annotation.Resource; import java.util.List; /** @@ -36,6 +36,9 @@ public class MesImportImpl implements IMesImportService { @Autowired private IMesBaseMaterialInfoService materialInfoService; + @Autowired + private MesBaseUnitInfoMapper mesBaseUnitInfoMapper; + @Autowired private RemoteJindieService remoteJindieService; @@ -83,7 +86,10 @@ public class MesImportImpl implements IMesImportService { JSONObject data = new JSONObject(); data.put("FMaterialId", findMaterialInfo.getMaterialCode()); data.put("FMaterialDesc", findMaterialInfo.getMaterialSpec()); - data.put("FUnitId", purchaseRequisitionTemplate.getUnit()); + MesBaseUnitInfo baseUnitInfo = mesBaseUnitInfoMapper.selectMesBaseUnitInfoByErpId(findMaterialInfo.getMaterialUnitId()); + data.put("FUnitId", baseUnitInfo.getUnitCode()); + MesBaseUnitInfo priceUnitIdUnitInfo = mesBaseUnitInfoMapper.selectMesBaseUnitInfoByErpId(findMaterialInfo.getPurchasePriceUnitId()); + data.put("FPriceUnitId", priceUnitIdUnitInfo.getUnitCode()); data.put("FReqQty", purchaseRequisitionTemplate.getAmount()); data.put("FTAXPRICE", purchaseRequisitionTemplate.getTaxUnitPrice()); String params = data.toJSONString(); diff --git a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseMaterialInfoMapper.xml b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseMaterialInfoMapper.xml index a550d894..6513a7b2 100644 --- a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseMaterialInfoMapper.xml +++ b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseMaterialInfoMapper.xml @@ -37,6 +37,7 @@ + @@ -59,6 +60,7 @@ bmi.gross_weight, bmi.factory_id, bmi.create_org_id, + bmi.purchase_price_unit_id, bmi.use_org_id, bmi.prodline_id, bmi.active_flag, diff --git a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseUnitInfoMapper.xml b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseUnitInfoMapper.xml new file mode 100644 index 00000000..ce245f1b --- /dev/null +++ b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseUnitInfoMapper.xml @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + select unit_id, + unit_code, + unit_name, + erp_id, + unit_status, + remark, + create_by, + create_time, + update_by, + update_time, + audit_date, + erp_modify_date + from mes_base_unit_info + + + + + + + + + + insert into mes_base_unit_info + + unit_code, + unit_name, + erp_id, + unit_status, + remark, + create_by, + create_time, + update_by, + update_time, + audit_date, + erp_modify_date, + + + #{unitCode}, + #{unitName}, + #{erpId}, + #{unitStatus}, + #{remark}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{auditDate}, + #{erpModifyDate}, + + + + + update mes_base_unit_info + + unit_code = #{unitCode}, + unit_name = #{unitName}, + erp_id = #{erpId}, + unit_status = #{unitStatus}, + remark = #{remark}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + audit_date = #{auditDate}, + erp_modify_date = #{erpModifyDate}, + + where unit_id = #{unitId} + + + + delete + from mes_base_unit_info + where unit_id = #{unitId} + + + + delete from mes_base_unit_info where unit_id in + + #{unitId} + + + \ No newline at end of file diff --git a/hw-ui/src/views/mes/purchaseOrder/index.vue b/hw-ui/src/views/mes/purchaseOrder/index.vue index ce026318..b2440ad2 100644 --- a/hw-ui/src/views/mes/purchaseOrder/index.vue +++ b/hw-ui/src/views/mes/purchaseOrder/index.vue @@ -59,6 +59,17 @@ + + + 采购申请单导入 + + @@ -113,12 +124,41 @@ @pagination="getList" /> + + + +
将文件拖到此处,或点击上传
+
+ + + + 仅允许导入xls、xlsx格式文件。 + +
+
+ +