diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/DeviceInterfaceController.java b/op-modules/op-device/src/main/java/com/op/device/controller/DeviceInterfaceController.java index 2c5082e3a..ff68332d7 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/DeviceInterfaceController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/DeviceInterfaceController.java @@ -21,7 +21,6 @@ public class DeviceInterfaceController { @Autowired private IDeviceInterfaceService deviceInterfaceService; - /** * 获取维修工单 * @return @@ -82,26 +81,12 @@ public class DeviceInterfaceController { } /** - * 查询故障描述列表手持 + * 首页-组线设备月故障数 + * @return */ - @GetMapping("/getFaultDescriptionList") - public AjaxResult getFaultDescriptionList(EquFaultDescription equFaultDescription) { - return deviceInterfaceService.selectEquFaultDescriptionList(equFaultDescription); + @GetMapping("/getGroupLineEquInfo") + public AjaxResult getGroupLineEquInfo() { + return deviceInterfaceService.getGroupLineEquInfo(); } - /** - * 查询故障维修措施列表手持 - */ - @GetMapping("/getFaultMeasuresList") - public AjaxResult getFaultMeasuresList(EquFaultMeasures equFaultMeasures) { - return deviceInterfaceService.selectEquFaultMeasuresList(equFaultMeasures); - } - - /** - * 查询故障原因列表 - */ - @GetMapping("/getFaultReasonList") - public AjaxResult getFaultReasonList(EquFaultReason equFaultReason) { - return deviceInterfaceService.selectEquFaultReasonList(equFaultReason); - } } diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java b/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java index 57cc27cf8..c6bbdb7f3 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java @@ -10,7 +10,6 @@ import com.op.device.service.IDevicePDAService; import com.op.device.service.IEquRepairOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; - import java.util.List; /** @@ -175,4 +174,28 @@ public class DevicePDAController extends BaseController { public AjaxResult startMaintenanceTask(PDADTO pdadto) { return devicePDAService.startMaintenanceTask(pdadto); } + + /** + * 查询故障描述列表手持 + */ + @GetMapping("/getFaultDescriptionList") + public AjaxResult getFaultDescriptionList(EquFaultDescription equFaultDescription) { + return devicePDAService.selectEquFaultDescriptionList(equFaultDescription); + } + + /** + * 查询故障维修措施列表手持 + */ + @GetMapping("/getFaultMeasuresList") + public AjaxResult getFaultMeasuresList(EquFaultMeasures equFaultMeasures) { + return devicePDAService.selectEquFaultMeasuresList(equFaultMeasures); + } + + /** + * 查询故障原因列表 + */ + @GetMapping("/getFaultReasonList") + public AjaxResult getFaultReasonList(EquFaultReason equFaultReason) { + return devicePDAService.selectEquFaultReasonList(equFaultReason); + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/vo/IEquFaultVO.java b/op-modules/op-device/src/main/java/com/op/device/domain/vo/IEquFaultVO.java new file mode 100644 index 000000000..0cf7cf8b2 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/vo/IEquFaultVO.java @@ -0,0 +1,34 @@ +package com.op.device.domain.vo; + +import java.time.LocalDate; + +// 首页-组线设备月故障数 +public class IEquFaultVO { + private int[] data = new int[LocalDate.now().getMonthValue()]; + private String name; + private String code; + + public int[] getData() { + return data; + } + + public void setData(int[] data) { + this.data = data; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceInterfaceMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceInterfaceMapper.java index 4d07dc6d5..2b61c79dd 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceInterfaceMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceInterfaceMapper.java @@ -4,10 +4,12 @@ import com.op.device.domain.EquOperation; import com.op.device.domain.EquOperationRecord; import com.op.device.domain.EquRepairWorkOrder; import com.op.device.domain.MesReportWork; +import com.op.device.domain.vo.IEquFaultVO; import com.op.device.domain.vo.IEquipmentVO; import com.op.device.domain.vo.IRepairWorkOrderVO; import java.util.List; +import java.util.Map; public interface DeviceInterfaceMapper { @@ -50,4 +52,18 @@ public interface DeviceInterfaceMapper { //设备完好率 EquOperation getEquipmentIntactRate(EquOperation equOperation); + String getDeviceRefreshTime(EquOperationRecord equOperationRecord); + + /** + * 获取组线信息 + * @return + */ + List selectGroups(); + + /** + * 通过组线编码查询当年设备每月故障数 + * @param groupCode + * @return + */ + List> selectEquipmentFaultNumForMonth(String groupCode); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IDeviceInterfaceService.java b/op-modules/op-device/src/main/java/com/op/device/service/IDeviceInterfaceService.java index 73e26f554..775ae7643 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IDeviceInterfaceService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IDeviceInterfaceService.java @@ -47,17 +47,8 @@ public interface IDeviceInterfaceService { public AjaxResult getDeviceRefreshTime(EquOperation equOperation); /** - * 故障描述 + * 首页-组线设备月故障数 + * @return */ - AjaxResult selectEquFaultDescriptionList(EquFaultDescription equFaultDescription); - - /** - * 故障维修措施 - */ - AjaxResult selectEquFaultMeasuresList(EquFaultMeasures equFaultMeasures); - - /** - * 故障维修措施 - */ - AjaxResult selectEquFaultReasonList(EquFaultReason equFaultReason); + AjaxResult getGroupLineEquInfo(); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java b/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java index 063b01ebf..0fe60052d 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java @@ -123,4 +123,19 @@ public interface IDevicePDAService { //查询设备列表 List selectEquEquipmentList(EquEquipment equEquipment); + + /** + * 故障描述 + */ + AjaxResult selectEquFaultDescriptionList(EquFaultDescription equFaultDescription); + + /** + * 故障维修措施 + */ + AjaxResult selectEquFaultMeasuresList(EquFaultMeasures equFaultMeasures); + + /** + * 故障维修措施 + */ + AjaxResult selectEquFaultReasonList(EquFaultReason equFaultReason); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceInterfaceServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceInterfaceServiceImpl.java index 3a1cfe05a..dd9ba40a4 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceInterfaceServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceInterfaceServiceImpl.java @@ -5,6 +5,11 @@ import com.op.common.core.utils.DateUtils; import com.op.common.core.web.domain.AjaxResult; import com.op.device.domain.*; import com.op.device.mapper.*; +import com.op.device.domain.EquOperationRecord; +import com.op.device.domain.EquRepairWorkOrder; +import com.op.device.domain.MesReportWork; +import com.op.device.domain.vo.IEquFaultVO; +import com.op.device.mapper.EquEquipmentMapper; import com.op.device.domain.vo.IEquipmentVO; import com.op.device.domain.vo.IRepairWorkOrderVO; import com.op.device.service.IDeviceInterfaceService; @@ -28,16 +33,6 @@ public class DeviceInterfaceServiceImpl implements IDeviceInterfaceService { @Autowired private EquOperationRecordMapper equOperationRecordMapper; - @Autowired - private EquFaultMeasuresMapper equFaultMeasuresMapper; - - @Autowired - private EquFaultDescriptionMapper equFaultDescriptionMapper; - - @Autowired - private EquFaultReasonMapper equFaultReasonMapper; - - /** * 获取待维修的维修工单 * @@ -224,42 +219,32 @@ public class DeviceInterfaceServiceImpl implements IDeviceInterfaceService { return success(time); } - /** - * 查询故障维修措施列表 - * - * @param equFaultMeasures 故障维修措施 - * @return 故障维修措施 - */ - @Override - @DS("#header.poolName") - public AjaxResult selectEquFaultMeasuresList(EquFaultMeasures equFaultMeasures) { - List list = equFaultMeasuresMapper.selectEquFaultMeasuresList(equFaultMeasures); - return success(list); - } /** - * 查询故障描述列表 - * - * @param equFaultDescription 故障描述 - * @return 故障描述 + * 首页-组线设备月故障数 + * @return */ @Override @DS("#header.poolName") - public AjaxResult selectEquFaultDescriptionList(EquFaultDescription equFaultDescription) { - List list = equFaultDescriptionMapper.selectEquFaultDescriptionList(equFaultDescription); - return success(list); + public AjaxResult getGroupLineEquInfo() { + // 获取组线信息 + List faultVOList = deviceInterfaceMapper.selectGroups(); + // 初始化返回对象信息(获取当前月份,设置好数组长度) + for (IEquFaultVO faultVO : faultVOList) { + // 通过组线编码查询当年设备每月故障数 + List> monthFault = deviceInterfaceMapper.selectEquipmentFaultNumForMonth(faultVO.getCode()); + if (monthFault!=null) { + for (Map data : monthFault) { + int[] source = faultVO.getData(); + int index = data.get("month") - 1; + source[index] = data.get("count"); + faultVO.setData(source); + } + } + } + // 获取每个组线的故障信息 + // 处理信息,返回对象 + return success(faultVOList); } - /** - * 查询故障原因列表 - * - * @param equFaultReason 故障原因 - * @return 故障原因 - */ - @Override - @DS("#header.poolName") - public AjaxResult selectEquFaultReasonList(EquFaultReason equFaultReason) { - List list = equFaultReasonMapper.selectEquFaultReasonList(equFaultReason); - return success(list); - } } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java index 6efcb059f..2ba20b72c 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java @@ -72,6 +72,15 @@ public class DevicePDAServiceImpl implements IDevicePDAService { @Autowired private EquOperationRecordMapper equOperationRecordMapper; + @Autowired + private EquFaultMeasuresMapper equFaultMeasuresMapper; + + @Autowired + private EquFaultDescriptionMapper equFaultDescriptionMapper; + + @Autowired + private EquFaultReasonMapper equFaultReasonMapper; + /** * 获取今日任务工单list-状态不为已完成 @@ -913,4 +922,43 @@ public class DevicePDAServiceImpl implements IDevicePDAService { equOperationRecordMapper.insertEquOperationRecord(newRecord); } + /** + * 查询故障维修措施列表 + * + * @param equFaultMeasures 故障维修措施 + * @return 故障维修措施 + */ + @Override + @DS("#header.poolName") + public AjaxResult selectEquFaultMeasuresList(EquFaultMeasures equFaultMeasures) { + List list = equFaultMeasuresMapper.selectEquFaultMeasuresList(equFaultMeasures); + return success(list); + } + + /** + * 查询故障描述列表 + * + * @param equFaultDescription 故障描述 + * @return 故障描述 + */ + @Override + @DS("#header.poolName") + public AjaxResult selectEquFaultDescriptionList(EquFaultDescription equFaultDescription) { + List list = equFaultDescriptionMapper.selectEquFaultDescriptionList(equFaultDescription); + return success(list); + } + + /** + * 查询故障原因列表 + * + * @param equFaultReason 故障原因 + * @return 故障原因 + */ + @Override + @DS("#header.poolName") + public AjaxResult selectEquFaultReasonList(EquFaultReason equFaultReason) { + List list = equFaultReasonMapper.selectEquFaultReasonList(equFaultReason); + return success(list); + } + } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOperationServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOperationServiceImpl.java index b8dae86d5..634abadb1 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOperationServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOperationServiceImpl.java @@ -2,6 +2,7 @@ package com.op.device.service.impl; import java.math.BigDecimal; import java.math.RoundingMode; +import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.List; @@ -81,14 +82,15 @@ public class EquOperationServiceImpl implements IEquOperationService { @DS("#header.poolName") public int updateEquOperation(EquOperation equOperation) { // 实际运行时间(运行时间-故障时间) + DecimalFormat df = new DecimalFormat("#.##"); double result = Double.parseDouble(equOperation.getOperationTime()) - Double.parseDouble(equOperation.getFaultTime()); - equOperation.setActualOperationTime(String.valueOf(result)); + equOperation.setActualOperationTime(String.valueOf(df.format(result))); // 故障率计算(故障时间/运行时间) BigDecimal faultTimeBD = new BigDecimal(equOperation.getFaultTime());// 故障时间 BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());// 运行时间 // 将处理好的故障率置入故障率 - equOperation.setFailureRate(faultTimeBD.divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%"); + equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%"); equOperation.setUpdateBy(SecurityUtils.getUsername()); equOperation.setUpdateTime(DateUtils.getNowDate()); diff --git a/op-modules/op-device/src/main/resources/mapper/device/DeviceInterfaceMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/DeviceInterfaceMapper.xml index 7dbacc229..8732c1682 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/DeviceInterfaceMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/DeviceInterfaceMapper.xml @@ -86,4 +86,23 @@ WHERE del_flag = '0' AND status = '1' + + + + \ No newline at end of file diff --git a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java index 80e4bf476..9a77787cc 100644 --- a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java +++ b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java @@ -297,9 +297,7 @@ public class OpenServiceImpl implements OpenService { String createBy = SecurityUtils.getUsername(); Date nowDate= DateUtils.getNowDate(); //获取当前所选工厂 - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - String key = "#header.poolName"; - String factoryCode = request.getHeader(key.substring(8)).replace("ds_",""); + String factoryCode = qcCheckTaskProduce.getFactoryCode(); qcCheckTaskProduce.setCheckNo(bpDD+liushuiStr); diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/OdsProcureOrderController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/OdsProcureOrderController.java index 317cb9512..5568bd0fc 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/controller/OdsProcureOrderController.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/OdsProcureOrderController.java @@ -255,6 +255,7 @@ public class OdsProcureOrderController extends BaseController { List result= odsProcureOrderService.ProductionMaterialRequisition(odsProcureOutOrder); return success(result); } + /** * 生产领料--托盘数据查询 * @param wmsOdsMateStorageNewsSn @@ -277,4 +278,15 @@ public class OdsProcureOrderController extends BaseController { Integer result= odsProcureOrderService.ProductionMaterialRequisitionAdd(orderList); return success(result); } + + /** + * 出库过账 + * @param orderList + * @return + */ + @PostMapping("/OutboundPostingSAP") + public AjaxResult OutboundPostingSAP(@RequestBody List orderList) { + odsProcureOrderService.OutboundPostingSAP(orderList); + return success(); + } } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java index 1af86c7be..de54e9d5e 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java @@ -6,6 +6,8 @@ import com.op.common.core.domain.R; import com.op.common.core.utils.StringUtils; import com.op.common.core.web.domain.AjaxResult; +import com.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; import com.op.wms.domain.*; import com.op.wms.service.IBaseWarehouseService; import com.op.wms.service.IOdsProcureOrderService; @@ -152,5 +154,39 @@ public WmsToWCSDTO packingMaterialsOutBoundCompleted(@RequestBody WmsToWCSDTO wc List result= odsProcureOrderService.ProductionMaterialRequisition(odsProcureOutOrder); return success(result); } - + /** + * 生产领料--托盘数据查询 + * @param wmsOdsMateStorageNewsSn + * @return + */ + @PostMapping("/ProductionMaterialRequisitionsn") + public AjaxResult ProductionMaterialRequisitionsn(@RequestBody WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn) { + WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn1= odsProcureOrderService.ProductionMaterialRequisitionsn(wmsOdsMateStorageNewsSn); + return success(wmsOdsMateStorageNewsSn1); + } + /** + * 出库过账 + * @param orderList + * @return + */ + @PostMapping("/OutboundPostingSAP") + public AjaxResult OutboundPostingSAP(@RequestBody List orderList) { + odsProcureOrderService.OutboundPostingSAP(orderList); + return success(); + } + /** + * 生产领料--确认 + * @param orderList + * @return + */ + @PostMapping("/ProductionMaterialRequisitionAdd") + public AjaxResult ProductionMaterialRequisitionAdd(@RequestBody List orderList) { + Integer result= odsProcureOrderService.ProductionMaterialRequisitionAdd(orderList); + return success(result); + } + @PostMapping("/sapPurchaseOrderSync") + public AjaxResult sapPurchaseOrderSync(@RequestBody OdsProcureOrder odsProcureOrder){ + AjaxResult result= odsProcureOrderService.sapPurchaseOrderSync(odsProcureOrder); + return result; + } } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/OdsProcureOutOrder.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/OdsProcureOutOrder.java index 0c01a4940..1648f0813 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/domain/OdsProcureOutOrder.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/OdsProcureOutOrder.java @@ -66,6 +66,16 @@ public class OdsProcureOutOrder extends BaseEntity { @Excel(name = "计划数量") private BigDecimal planNumber; + private String sn; + + public String getSn() { + return sn; + } + + public void setSn(String sn) { + this.sn = sn; + } + /** 单位 */ @Excel(name = "单位") private String Unit; diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/OrderLine.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/OrderLine.java index 9bcb71a25..22f1a2b47 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/domain/OrderLine.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/OrderLine.java @@ -30,6 +30,15 @@ public class OrderLine extends BaseEntity { private String siteCode; private String unit; private String userDefined2; + private String userDefined3; + + public String getUserDefined3() { + return userDefined3; + } + + public void setUserDefined3(String userDefined3) { + this.userDefined3 = userDefined3; + } public String getMaterialCode() { return materialCode; diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/BaseWarehouseMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/BaseWarehouseMapper.java index 3834bd30e..3235d2689 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/BaseWarehouseMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/BaseWarehouseMapper.java @@ -7,14 +7,14 @@ import com.op.wms.domain.BaseWarehouse; /** * 仓库管理Mapper接口 - * + * * @author Open Platform * @date 2023-07-04 */ public interface BaseWarehouseMapper { /** * 查询仓库管理 - * + * * @param warehouseId 仓库管理主键 * @return 仓库管理 */ @@ -22,7 +22,7 @@ public interface BaseWarehouseMapper { /** * 查询仓库管理列表 - * + * * @param baseWarehouse 仓库管理 * @return 仓库管理集合 */ @@ -30,7 +30,7 @@ public interface BaseWarehouseMapper { /** * 新增仓库管理 - * + * * @param baseWarehouse 仓库管理 * @return 结果 */ @@ -38,7 +38,7 @@ public interface BaseWarehouseMapper { /** * 修改仓库管理 - * + * * @param baseWarehouse 仓库管理 * @return 结果 */ @@ -46,7 +46,7 @@ public interface BaseWarehouseMapper { /** * 删除仓库管理 - * + * * @param warehouseId 仓库管理主键 * @return 结果 */ @@ -54,7 +54,7 @@ public interface BaseWarehouseMapper { /** * 批量删除仓库管理 - * + * * @param warehouseIds 需要删除的数据主键集合 * @return 结果 */ @@ -64,4 +64,6 @@ public interface BaseWarehouseMapper { String checkWarehouseCodeUnique(BaseWarehouse baseWarehouse); String checkWarehouseNameUnique(BaseWarehouse baseWarehouse); + + String selectByCode(String locCode); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOutOrderMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOutOrderMapper.java index b4aad6b57..d48005bf1 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOutOrderMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOutOrderMapper.java @@ -3,6 +3,7 @@ package com.op.wms.mapper; import java.util.List; import com.op.wms.domain.OdsProcureOutOrder; +import org.apache.ibatis.annotations.Param; /** * 包材出库单Mapper接口 @@ -62,4 +63,10 @@ public interface OdsProcureOutOrderMapper { OdsProcureOutOrder selectmesPrepare(OdsProcureOutOrder odsProcureOrder); List selectmesPrepareDetail(OdsProcureOutOrder odsProcureOutOrder); + + void insertWmsRawMissionOut(OdsProcureOutOrder order); + + void updateOdsProcureOutOrderByid(OdsProcureOutOrder odsProcureOutOrder); + + List selectOdsProcureOutOrderListByIds(@Param("list") List orderList); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java index 3a0b9173b..5cb221329 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java @@ -88,4 +88,8 @@ public interface IOdsProcureOrderService { Integer ProductionMaterialRequisitionAdd(List orderList); WmsOdsMateStorageNewsSn ProductionMaterialRequisitionsn(WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn); + + void OutboundPostingSAP(List odsProcureOutOrder); + + AjaxResult sapPurchaseOrderSync(OdsProcureOrder odsProcureOrder); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java index 9120c4c1c..064a3a04d 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java @@ -17,7 +17,11 @@ import java.util.List; import com.op.common.core.domain.R; - +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.security.utils.SecurityUtils; +import com.op.system.api.RemoteSapService; +import com.op.system.api.domain.sap.SapBackflushMPQuery; +import com.op.system.api.domain.sap.SapMaterialPosting; import okhttp3.OkHttpClient; import okhttp3.MediaType; import okhttp3.RequestBody; @@ -53,7 +57,11 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { private WmsOdsMateStorageNewsMapper wmsOdsMateStorageNewsMapper; @Autowired private OdsProcureOutOrderMapper odsProcureOutOrderMapper; + @Autowired + private RemoteSapService remoteSapService; + @Autowired + private BaseWarehouseMapper baseWarehouseMapper; /** * 查询包材采购单 * @@ -262,7 +270,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { public OrderLine addPurchaseOrderOutbound(OrderLine orderLine) { //自己生成行项目,,批次号 List orderList= orderLine.getList(); - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHH:mm:ss"); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); Date date = new Date(); String formattedDate = dateFormat.format(date); //根据订单号查询对应的最大批次号 @@ -280,7 +288,9 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { orderList) { OdsProcureOutOrder odsProcureOutOrder=new OdsProcureOutOrder(); odsProcureOutOrder.setID(IdUtils.fastSimpleUUID()); + odsProcureOutOrder.setSiteCode(orderLine1.getSiteCode()); odsProcureOutOrder.setProduceCode(orderLine.getOrderNo()); + odsProcureOutOrder.setLocCode(orderLine.getWarehouseNo()); odsProcureOutOrder.setMaterialCode(orderLine1.getMaterialCode()); odsProcureOutOrder.setMaterialDesc(orderLine1.getMaterialDesc()); odsProcureOutOrder.setPlanDate(new Date()); @@ -289,8 +299,12 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { odsProcureOutOrder.setUserDefined1(orderLine1.getBatchNo()); odsProcureOutOrder.setActive("1"); odsProcureOutOrder.setOrderStatus("1"); - odsProcureOutOrder.setPlanNumber(orderLine1.getPlanNumber()); + odsProcureOutOrder.setPlanNumber(orderLine1.getQty()); odsProcureOutOrder.setUserDefined2(orderLine1.getOrderLineNo()); + odsProcureOutOrder.setUserDefined3(orderLine1.getUserDefined3()); + odsProcureOutOrder.setUserDefined10("1"); + odsProcureOutOrder.setCreateBy(SecurityUtils.getUsername()); + odsProcureOutOrder.setCreateDate(new Date()); //odsProcureOutOrder.set odsProcureOutOrderMapper.insertOdsProcureOutOrder(odsProcureOutOrder); } @@ -301,7 +315,9 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { orderList) { OdsProcureOutOrder odsProcureOutOrder=new OdsProcureOutOrder(); odsProcureOutOrder.setID(IdUtils.fastSimpleUUID()); + odsProcureOutOrder.setLocCode(orderLine.getWarehouseNo()); odsProcureOutOrder.setProduceCode(orderLine.getOrderNo()); + odsProcureOutOrder.setSiteCode(orderLine1.getSiteCode()); odsProcureOutOrder.setMaterialCode(orderLine1.getMaterialCode()); odsProcureOutOrder.setMaterialDesc(orderLine1.getMaterialDesc()); odsProcureOutOrder.setPlanDate(new Date()); @@ -310,9 +326,13 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { odsProcureOutOrder.setUserDefined1(orderLine1.getBatchNo()); odsProcureOutOrder.setActive("1"); odsProcureOutOrder.setOrderStatus("1"); - odsProcureOutOrder.setPlanNumber(orderLine1.getPlanNumber()); + odsProcureOutOrder.setUserDefined10("1"); + odsProcureOutOrder.setPlanNumber(orderLine1.getQty()); odsProcureOutOrder.setUserDefined2(orderLine1.getOrderLineNo()); //odsProcureOutOrder.set + odsProcureOutOrder.setUserDefined3(orderLine1.getUserDefined3()); + odsProcureOutOrder.setCreateBy(SecurityUtils.getUsername()); + odsProcureOutOrder.setCreateDate(new Date()); odsProcureOutOrderMapper.insertOdsProcureOutOrder(odsProcureOutOrder); } } @@ -441,10 +461,64 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { //修改对应订单--插入对应出库托盘数据数据 // for (OdsProcureOutOrder odsProcureOutOrder: // orderList) { -// //领料单,物料编号,物料名称,托盘号,出库数量,库位号, +// //领料单,物料编号,领料单批次,物料名称,托盘号,出库数量,库位号, // odsProcureOutOrder. // } + String factoryCode =orderList.get(0).getFactoryCode(); + DynamicDataSourceContextHolder.push("ds_" +factoryCode); + for (OdsProcureOutOrder odsProcureOutOrder: + orderList) { + //领料单,物料编号,领料单批次,物料名称,托盘号,出库数量,库位号, + WmsToWCSDTO wcsdto =new WmsToWCSDTO(); + wcsdto.setRfidNo(odsProcureOutOrder.getSn()); + WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn= wmsOdsMateStorageNewsSnMapper.selectwmsRfidNotwo(wcsdto); + //明细 + //wms_raw_mission_out--保存 + //ods_procure_out_order--修改 + WCSInventoryPlan wcsInventoryPlan=new WCSInventoryPlan(); + wcsInventoryPlan.setSku(odsProcureOutOrder.getMaterialCode()); + WmsOdsMateStorageNews wmsOdsMateStorageNews= wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan); + + OdsProcureOutOrder order=new OdsProcureOutOrder(); + order.setProduceCode(odsProcureOutOrder.getProduceCode());//领料单 + order.setMaterialCode(odsProcureOutOrder.getMaterialCode());// + order.setMaterialDesc(odsProcureOutOrder.getMaterialDesc()); + order.setUserDefined1(odsProcureOutOrder.getUserDefined1());//批次 + order.setSn(odsProcureOutOrder.getSn()); + order.setPlanNumber(odsProcureOutOrder.getPlanNumber()); + order.setLocCode(odsProcureOutOrder.getLocCode()); + order.setID(IdUtils.fastSimpleUUID()); + order.setUnit(wmsOdsMateStorageNews.getUserDefined1()); + order.setFactoryCode(factoryCode); + order.setActive("1"); + order.setCreateBy(SecurityUtils.getUsername()); + order.setCreateDate(new Date()); + odsProcureOutOrderMapper.insertWmsRawMissionOut(order); + + OdsProcureOutOrder odsProcureOutOrder1= odsProcureOutOrderMapper.selectOdsProcureOutOrderByID(odsProcureOutOrder.getID()); + BigDecimal realityNumber1 = odsProcureOutOrder1.getOutNumber();//累计数 + BigDecimal realityNumber = odsProcureOutOrder1.getPlanNumber();//计划 + BigDecimal planNumber =odsProcureOutOrder.getPlanNumber(); + BigDecimal tem= realityNumber1.add(planNumber); + boolean isEqual = tem.equals(realityNumber); + if (isEqual){ + odsProcureOutOrder1.setOrderStatus("3"); + }else { + odsProcureOutOrder1.setOrderStatus("2"); + } + odsProcureOutOrder1.setOutNumber(tem); + odsProcureOutOrderMapper.updateOdsProcureOutOrder(odsProcureOutOrder1); + WmsOdsEmStorageNews wmsOdsEmStorageNews=new WmsOdsEmStorageNews(); + wmsOdsEmStorageNews.setWhCode(wmsOdsMateStorageNewsSn.getWhCode());//仓库编码 + wmsOdsEmStorageNews.setWlCode(wmsOdsMateStorageNewsSn.getWlCode());//库位编码 + wmsOdsEmStorageNews.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode()); + wmsOdsEmStorageNews.setAmount(wmsOdsMateStorageNewsSn.getAmount());//库存 + wmsOdsMateStorageNewsSnMapper.updatekdd(wmsOdsEmStorageNews);//库存调整 + wmsOdsMateStorageNewsSn.setUserDefined1("1"); + wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn);//库存明细 + + } return null; } @@ -457,6 +531,76 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { return wmsOdsMateStorageNewsSn1; } + @Override + @DS("#header.poolName") + public void OutboundPostingSAP(List orderList) { + +// * 退料的移动类型为 262 +// * 领料的移动类型为 261 + List orderList1=odsProcureOutOrderMapper.selectOdsProcureOutOrderListByIds(orderList); + for (OdsProcureOutOrder odsProcureOutOrder: + orderList1) { + //取sap仓库号 + if ("X".equals(odsProcureOutOrder.getUserDefined3())){ + List sapBackflushMPQueryList=new ArrayList<>(); + SapBackflushMPQuery sapBackflushMPQuery=new SapBackflushMPQuery(); + sapBackflushMPQuery.setPlant(odsProcureOutOrder.getSiteCode()); //工厂 + String lgort= baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode()); + sapBackflushMPQuery.setLgort(lgort);//库存地点 + sapBackflushMPQuery.setMatnr(odsProcureOutOrder.getMaterialCode());//物料号 + sapBackflushMPQuery.setQuantity(odsProcureOutOrder.getOutNumber().toString()); //数量 + sapBackflushMPQuery.setMeins(odsProcureOutOrder.getUnit()); //基本计量单位 + sapBackflushMPQuery.setBatch(odsProcureOutOrder.getUserDefined2()); //批号 + sapBackflushMPQueryList.add(sapBackflushMPQuery); + R result2= remoteSapService.sapBackflushMP(sapBackflushMPQueryList);//x + int code= result2.getCode(); + String msg= result2.getMsg(); + odsProcureOutOrder.setUserDefined11(msg); + if (code==200){//过账成功 + odsProcureOutOrder.setUserDefined10("2");//成功 + odsProcureOutOrderMapper.updateOdsProcureOutOrderByid(odsProcureOutOrder); + + }else {// + odsProcureOutOrder.setUserDefined10("3");//失败 + odsProcureOutOrderMapper.updateOdsProcureOutOrderByid(odsProcureOutOrder); + } + }else { + List sapMaterialPostingList=new ArrayList<>(); + SapMaterialPosting sapMaterialPosting =new SapMaterialPosting(); + sapMaterialPosting.setAufnr(odsProcureOutOrder.getProduceCode());//订单号 + sapMaterialPosting.setBwart("261"); //移动类型 + sapMaterialPosting.setPlant(odsProcureOutOrder.getSiteCode()); //工厂 + String lgort= baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode()); + sapMaterialPosting.setLgort(lgort);//库存地点 + sapMaterialPosting.setMatnr(odsProcureOutOrder.getMaterialCode());//物料号 + sapMaterialPosting.setQuantity(odsProcureOutOrder.getOutNumber().toString()); //数量 + sapMaterialPosting.setMeins(odsProcureOutOrder.getUnit()); //基本计量单位 + sapMaterialPosting.setBatch(odsProcureOutOrder.getUserDefined2()); //批号 + sapMaterialPostingList.add(sapMaterialPosting); + R result= remoteSapService.sapMaterialPosting(sapMaterialPostingList); + int code= result.getCode(); + String msg= result.getMsg(); + odsProcureOutOrder.setUserDefined11(msg); + if (code==200){//过账成功 + odsProcureOutOrder.setUserDefined10("2");//成功 + odsProcureOutOrderMapper.updateOdsProcureOutOrderByid(odsProcureOutOrder); + + }else {// + odsProcureOutOrder.setUserDefined10("3");//失败 + odsProcureOutOrderMapper.updateOdsProcureOutOrderByid(odsProcureOutOrder); + } + } + + } + + } + + @Override + public AjaxResult sapPurchaseOrderSync(OdsProcureOrder odsProcureOrder) { + //remoteSapService.sapPurchaseOrderSync(); + return null; + } + public String DesignatedPalletOutboundWCS(WMSDesignatedPalle wmsDesignatedPalle){ // 定义请求的URL地址 String url = "http://192.168.202.37:9001/api/v1/ReceiveMesMsg/packingMaterialsOutBoundByPallet"; @@ -637,7 +781,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { orderLine.put("orderLineNo", orderLine1.getOrderLineNo()); orderLine.put("sku", orderLine1.getMaterialCode()); orderLine.put("batchNo",orderLine1.getBatchNo()); - orderLine.put("qty", orderLine1.getPlanNumber()); + orderLine.put("qty", orderLine1.getQty()); orderLine.put("qualityStatus", 1); orderLine.put("location", orderLine1.getStationNo()); orderLines.add(orderLine); diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsToWCSmissionServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsToWCSmissionServiceImpl.java index 557a2eced..a5e67ebd7 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsToWCSmissionServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsToWCSmissionServiceImpl.java @@ -128,7 +128,7 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService { */ @Override public WmsToWCSDTO packingMaterialsOutBoundCompleted(WmsToWCSDTO wcsdto) { - //记录明细消减库存 + //记录明细消减库存--wms_raw_mission_out- DynamicDataSourceContextHolder.push("ds_" + wcsdto.getFactory()); WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn= wmsOdsMateStorageNewsSnMapper.selectwmsRfidNotwo(wcsdto); diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/BaseWarehouseMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/BaseWarehouseMapper.xml index cda0ed11a..7a9319962 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/BaseWarehouseMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/BaseWarehouseMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -33,7 +33,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + - + insert into base_warehouse @@ -162,5 +162,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where warehouse_code = #{warehouseCode} and del_flag = '0' - - \ No newline at end of file + + diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml index 67471bfc2..c5088b303 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml @@ -42,7 +42,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select Site_code, ID, Produce_Code, Material_Code, Material_Desc, Plan_Date, Plan_Number, Unit, Out_Number, Loc_Code, Loc_Desc, Production_Line_Desc, Production_Line_Code, Order_Status, User_Defined1, User_Defined2, User_Defined3, User_Defined4, User_Defined5, User_Defined6, User_Defined7, User_Defined8, User_Defined9, User_Defined10, User_Defined11, Supplier_Code, Supplier_Name, Create_By, Create_Date, Last_Update_By, Last_Update_Date, Active, Enterprise_Id, Enterprise_Code from ods_procure_out_order + select Site_code, ID, Produce_Code, Material_Code, Material_Desc, Plan_Date, Plan_Number, Unit, COALESCE(Out_Number, 0) as Out_Number , Loc_Code, Loc_Desc, Production_Line_Desc, Production_Line_Code, Order_Status, User_Defined1, User_Defined2, User_Defined3, User_Defined4, User_Defined5, User_Defined6, User_Defined7, User_Defined8, User_Defined9, User_Defined10, User_Defined11, Supplier_Code, Supplier_Name, Create_By, Create_Date, Last_Update_By, Last_Update_Date, Active, Enterprise_Id, Enterprise_Code from ods_procure_out_order + + insert into wms_raw_mission_out(id, + prd_order, + material_code, + material_desc, + unit, + user_defined1, + sn, + amount, + origin_location, + factory_code, + active_flag, + create_by, + gmt_create + )values ( + #{ID}, + #{produceCode}, + #{materialCode}, + #{materialDesc}, + #{Unit}, + #{userDefined1}, + #{sn}, + #{planNumber}, + #{locCode}, + #{factoryCode}, + #{Active}, + #{createBy}, + #{createDate} ) + + + update ods_procure_out_order + set User_Defined10 = #{userDefined10}, + User_Defined11 = #{userDefined11} + where ID = #{ID} + +