diff --git a/wms_pro/hd/logPath_IS_UNDEFINED/2024-03-07.0.log b/wms_pro/hd/logPath_IS_UNDEFINED/2024-03-07.0.log index 9b8f2d36..029f80b2 100644 --- a/wms_pro/hd/logPath_IS_UNDEFINED/2024-03-07.0.log +++ b/wms_pro/hd/logPath_IS_UNDEFINED/2024-03-07.0.log @@ -1,8 +1,8 @@ 2024-03-07 13:01:05.011 [main] ERROR org.springframework.boot.SpringApplication - Application run failed -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'bmExternalFieldMappingController' method -org.nl.wms.base_manage.field_mapping.controller.BmExternalFieldMappingController#addRows(List) +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'bmExternalFieldMappingController' method +org.nl.wms.sync_manage.field_mapping.controller.BmExternalFieldMappingController#addRows(List) to {POST [/api/externalFieldMapping]}: There is already 'bmExternalFieldMappingController' bean method -org.nl.wms.base_manage.field_mapping.controller.BmExternalFieldMappingController#create(BmExternalFieldMapping) mapped. +org.nl.wms.sync_manage.field_mapping.controller.BmExternalFieldMappingController#create(BmExternalFieldMapping) mapped. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) @@ -20,10 +20,10 @@ org.nl.wms.base_manage.field_mapping.controller.BmExternalFieldMappingController at org.springframework.boot.SpringApplication.run(SpringApplication.java:1301) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1290) at org.nl.AppRun.main(AppRun.java:39) -Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'bmExternalFieldMappingController' method -org.nl.wms.base_manage.field_mapping.controller.BmExternalFieldMappingController#addRows(List) +Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'bmExternalFieldMappingController' method +org.nl.wms.sync_manage.field_mapping.controller.BmExternalFieldMappingController#addRows(List) to {POST [/api/externalFieldMapping]}: There is already 'bmExternalFieldMappingController' bean method -org.nl.wms.base_manage.field_mapping.controller.BmExternalFieldMappingController#create(BmExternalFieldMapping) mapped. +org.nl.wms.sync_manage.field_mapping.controller.BmExternalFieldMappingController#create(BmExternalFieldMapping) mapped. at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.validateMethodMapping(AbstractHandlerMethodMapping.java:669) at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.register(AbstractHandlerMethodMapping.java:635) at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:332) @@ -40,10 +40,10 @@ org.nl.wms.base_manage.field_mapping.controller.BmExternalFieldMappingController at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ... 16 common frames omitted 2024-03-07 13:04:13.612 [main] ERROR org.springframework.boot.SpringApplication - Application run failed -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'bmExternalFieldMappingController' method -org.nl.wms.base_manage.field_mapping.controller.BmExternalFieldMappingController#addRows(List) +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'bmExternalFieldMappingController' method +org.nl.wms.sync_manage.field_mapping.controller.BmExternalFieldMappingController#addRows(List) to {POST [/api/externalFieldMapping]}: There is already 'bmExternalFieldMappingController' bean method -org.nl.wms.base_manage.field_mapping.controller.BmExternalFieldMappingController#create(BmExternalFieldMapping) mapped. +org.nl.wms.sync_manage.field_mapping.controller.BmExternalFieldMappingController#create(BmExternalFieldMapping) mapped. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) @@ -61,10 +61,10 @@ org.nl.wms.base_manage.field_mapping.controller.BmExternalFieldMappingController at org.springframework.boot.SpringApplication.run(SpringApplication.java:1301) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1290) at org.nl.AppRun.main(AppRun.java:39) -Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'bmExternalFieldMappingController' method -org.nl.wms.base_manage.field_mapping.controller.BmExternalFieldMappingController#addRows(List) +Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'bmExternalFieldMappingController' method +org.nl.wms.sync_manage.field_mapping.controller.BmExternalFieldMappingController#addRows(List) to {POST [/api/externalFieldMapping]}: There is already 'bmExternalFieldMappingController' bean method -org.nl.wms.base_manage.field_mapping.controller.BmExternalFieldMappingController#create(BmExternalFieldMapping) mapped. +org.nl.wms.sync_manage.field_mapping.controller.BmExternalFieldMappingController#create(BmExternalFieldMapping) mapped. at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.validateMethodMapping(AbstractHandlerMethodMapping.java:669) at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.register(AbstractHandlerMethodMapping.java:635) at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:332) diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/domain/mybatis/handler/ListTypeHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/domain/mybatis/handler/ListTypeHandler.java new file mode 100644 index 00000000..ffaca120 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/domain/mybatis/handler/ListTypeHandler.java @@ -0,0 +1,49 @@ +package org.nl.common.domain.mybatis.handler; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import org.apache.ibatis.type.BaseTypeHandler; +import org.apache.ibatis.type.JdbcType; + +import java.sql.CallableStatement; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +/** + * Description: + * + * @author gongmanman + * @Date Create on 2020/3/19/0019 18:30 + * @since version1.0 Copyright 2020 CLKJ All Rights Reserved. + */ +public class ListTypeHandler extends BaseTypeHandler { + @Override + public void setNonNullParameter(PreparedStatement ps, int i, Object parameter, JdbcType jdbcType) throws SQLException { + + } + + @Override + public Object getNullableResult(ResultSet rs, String columnName) throws SQLException { + return jsonTrans(rs.getString(columnName)); + } + + @Override + public Object getNullableResult(ResultSet rs, int columnIndex) throws SQLException { + return jsonTrans(rs.getString(columnIndex)); + } + + @Override + public Object getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { + return jsonTrans(cs.getString(columnIndex)); + } + + private Object jsonTrans(String s) { + if(s == null){ + return new ArrayList(); + } + return JSONArray.parseArray(s,String.class); + } +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/material/service/dto/MaterialQuery.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/material/service/dto/MaterialQuery.java index 1245f869..05783ac2 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/material/service/dto/MaterialQuery.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/material/service/dto/MaterialQuery.java @@ -4,7 +4,7 @@ import lombok.Data; import org.nl.common.domain.entity.BaseQuery; import org.nl.common.domain.entity.QParam; import org.nl.common.enums.QueryTEnum; -import org.nl.wms.base_manage.field_mapping.service.dao.BmExternalFieldMapping; +import org.nl.wms.sync_manage.service.field_mapping.dao.BmExternalFieldMapping; import org.nl.wms.base_manage.material.service.dao.BmMaterial; /* diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/dao/mapper/BmSupplierMapper.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/dao/mapper/BmSupplierMapper.java index 6433ee0f..f76032e1 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/dao/mapper/BmSupplierMapper.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/supplier/service/dao/mapper/BmSupplierMapper.java @@ -2,7 +2,7 @@ package org.nl.wms.base_manage.supplier.service.dao.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; -import org.nl.wms.base_manage.field_mapping.service.dao.BmExternalFieldMapping; +import org.nl.wms.sync_manage.service.field_mapping.dao.BmExternalFieldMapping; import org.nl.wms.base_manage.supplier.service.dao.BmSupplier; import java.util.List; diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/IMdPbVehicleattrService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/IMdPbVehicleattrService.java new file mode 100644 index 00000000..7a67a242 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/IMdPbVehicleattrService.java @@ -0,0 +1,17 @@ +package org.nl.wms.base_manage.vehicle.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.wms.base_manage.vehicle.service.dao.MdPbVehicleattr; + + +/** + *

+ * 载具信息表 服务类 + *

+ * + * @author generator + * @since 2024-04-08 + */ +public interface IMdPbVehicleattrService extends IService { + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/IMdPbVehicleivtService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/IMdPbVehicleivtService.java new file mode 100644 index 00000000..9da2c130 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/IMdPbVehicleivtService.java @@ -0,0 +1,16 @@ +package org.nl.wms.base_manage.vehicle.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.wms.base_manage.vehicle.service.dao.MdPbVehicleivt; + +/** + *

+ * 载具物料信息表 服务类 + *

+ * + * @author generator + * @since 2024-04-08 + */ +public interface IMdPbVehicleivtService extends IService { + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/dao/MdPbVehicleattr.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/dao/MdPbVehicleattr.java new file mode 100644 index 00000000..2e72c8eb --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/dao/MdPbVehicleattr.java @@ -0,0 +1,116 @@ +package org.nl.wms.base_manage.vehicle.service.dao; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 载具信息表 + *

+ * + * @author generator + * @since 2024-04-08 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("md_pb_vehicleattr") +public class MdPbVehicleattr implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 载具编码 + */ + private String vehicle_code; + + /** + * 载具名称 + */ + private String vehicle_name; + + /** + * 载具类型 + */ + private String vehicle_type; + + /** + * 一维码 + */ + private String one_code; + + /** + * 二维码 + */ + private String two_code; + + /** + * RFID编码 + */ + private String rfid_code; + + /** + * 修改人 + */ + private String update_id; + + /** + * 修改人姓名 + */ + private String update_name; + + /** + * 修改时间 + */ + private Date update_time; + + /** + * 是否启用 + */ + private Boolean is_used; + + /** + * 载具宽度 + */ + private Integer w; + + /** + * 载具长度 + */ + private Integer l; + + /** + * 载具高度 + */ + private Integer h; + + /** + * 载具重量 + */ + private Integer weight; + + /** + * 载具超限情况:0无1超w2h3l4W + */ + private String overstruct_type; + + /** + * 超限参数 + */ + private Integer occupystruct_qty; + + /** + * 扩展信息 + */ + private String ext_json; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/dao/MdPbVehicleivt.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/dao/MdPbVehicleivt.java new file mode 100644 index 00000000..e6f99bcb --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/dao/MdPbVehicleivt.java @@ -0,0 +1,88 @@ +package org.nl.wms.base_manage.vehicle.service.dao; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + *

+ * 载具物料信息表 + *

+ * + * @author generator + * @since 2024-04-08 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("md_pb_vehicleivt") +public class MdPbVehicleivt implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + + /** + * 载具编码 + */ + private String vehicle_code; + + /** + * 物料标识 + */ + private String material_id; + + /** + * 工序id + */ + private String workprocedure_id; + + /** + * 批次 + */ + private String pcsn; + + /** + * 数量 + */ + private BigDecimal qty; + + /** + * 数量计量单位标识 + */ + private String qty_unit_id; + + /** + * 备注 + */ + private String remark; + + /** + * 父容器 + */ + private String parent_id; + + /** + * 是否含子容器 + */ + private Boolean has_child; + + /** + * 扩展信息 + */ + private String ext_json; + + /** + * 物料关联单据 + */ + private String correlate_order; + + /** + * 修改时间 + */ + private String update_time; + + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/dao/mapper/MdPbVehicleattrMapper.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/dao/mapper/MdPbVehicleattrMapper.java new file mode 100644 index 00000000..b3d3084c --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/dao/mapper/MdPbVehicleattrMapper.java @@ -0,0 +1,16 @@ +package org.nl.wms.base_manage.vehicle.service.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.wms.base_manage.vehicle.service.dao.MdPbVehicleattr; + +/** + *

+ * 载具信息表 Mapper 接口 + *

+ * + * @author generator + * @since 2024-04-08 + */ +public interface MdPbVehicleattrMapper extends BaseMapper { + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/dao/mapper/MdPbVehicleivtMapper.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/dao/mapper/MdPbVehicleivtMapper.java new file mode 100644 index 00000000..32bdea6f --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/dao/mapper/MdPbVehicleivtMapper.java @@ -0,0 +1,16 @@ +package org.nl.wms.base_manage.vehicle.service.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.wms.base_manage.vehicle.service.dao.MdPbVehicleivt; + +/** + *

+ * 载具物料信息表 Mapper 接口 + *

+ * + * @author generator + * @since 2024-04-08 + */ +public interface MdPbVehicleivtMapper extends BaseMapper { + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/impl/MdPbVehicleattrServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/impl/MdPbVehicleattrServiceImpl.java new file mode 100644 index 00000000..c124a1a4 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/impl/MdPbVehicleattrServiceImpl.java @@ -0,0 +1,21 @@ +package org.nl.wms.base_manage.vehicle.service.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.nl.wms.base_manage.vehicle.service.IMdPbVehicleattrService; +import org.nl.wms.base_manage.vehicle.service.dao.MdPbVehicleattr; +import org.nl.wms.base_manage.vehicle.service.dao.mapper.MdPbVehicleattrMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 载具信息表 服务实现类 + *

+ * + * @author generator + * @since 2024-04-08 + */ +@Service +public class MdPbVehicleattrServiceImpl extends ServiceImpl implements IMdPbVehicleattrService { + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/impl/MdPbVehicleivtServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/impl/MdPbVehicleivtServiceImpl.java new file mode 100644 index 00000000..152edc18 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/vehicle/service/impl/MdPbVehicleivtServiceImpl.java @@ -0,0 +1,21 @@ +package org.nl.wms.base_manage.vehicle.service.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.nl.wms.base_manage.vehicle.service.IMdPbVehicleivtService; +import org.nl.wms.base_manage.vehicle.service.dao.MdPbVehicleivt; +import org.nl.wms.base_manage.vehicle.service.dao.mapper.MdPbVehicleivtMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 载具物料信息表 服务实现类 + *

+ * + * @author generator + * @since 2024-04-08 + */ +@Service +public class MdPbVehicleivtServiceImpl extends ServiceImpl implements IMdPbVehicleivtService { + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/controller/BmFormStrucController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/controller/BmFormStrucController.java index d31c8d01..1f793e04 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/controller/BmFormStrucController.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/controller/BmFormStrucController.java @@ -37,10 +37,19 @@ import java.util.Map; @RestController @RequestMapping("/api/bmFormStruc") public class BmFormStrucController { + + private static Map BASE_FORM = MapOf.of("bus_id","业务单据单据id" + ,"bus_code","业务单据编号" + ,"bus_date","业务单据日期" + ,"bus_status","业务单据状态" + ,"material_id","物料id" + ,"qty","数量"); + @Autowired IBmFormStrucService iBmFormStrucService; @Autowired IPmFormDataService iPmFormDataService; + @GetMapping public ResponseEntity queryAll(FormStrucQuery query, PageQuery pageQuery){ //参数判读,参数解析,调用参数入库 @@ -78,5 +87,34 @@ public class BmFormStrucController { return new ResponseEntity<>(list,HttpStatus.OK); } + /** + * @ONLY:只用于获取表单同步配置接口 + * 数据结构:{"type":xxx,"name":xxx,"desc":xxx,"item":{"desc":"描述"}} + */ + @GetMapping("/tableColumns/{form_type}") + public ResponseEntity tableColumns(@PathVariable String form_type){ + //参数判读,参数解析,调用参数入库 + BmFormStruc form_struc = iBmFormStrucService.getOne(new QueryWrapper().eq("form_type", form_type)); + HashMap result = MapOf.of("has_child",form_struc.getHas_child(),"form_type", form_struc.getForm_type(), "form_name", form_struc.getForm_name(), "form_desc", form_struc.getForm_desc()); + JSONObject form_param = form_struc.getForm_param(); + form_param.putAll(BASE_FORM); + List items = new ArrayList<>(); + for (String key : form_param.keySet()) { + items.add(MapOf.of("lable",form_param.get(key),"value",key)); + } + if (form_struc.getHas_child()){ + List dtl_items = new ArrayList<>(); + BmFormStruc child_struc = iBmFormStrucService.getOne(new QueryWrapper().eq("form_type", form_struc.getForm_type())); + JSONObject child_param = child_struc.getForm_param(); + child_param.putAll(BASE_FORM); + for (String key : child_param.keySet()) { + dtl_items.add(MapOf.of("lable",form_param.get(key),"value",key)); + } + result.put("dtl_item",dtl_items); + } + result.put("item",items); + return new ResponseEntity<>(result,HttpStatus.OK); + } + } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/dao/BmFormStruc.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/dao/BmFormStruc.java index a8101c36..78678d9c 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/dao/BmFormStruc.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/dao/BmFormStruc.java @@ -45,6 +45,11 @@ public class BmFormStruc implements Serializable { */ private String form_desc; + /** + * 表单对应json字段 + */ + private String convert_json; + /** * 创建id */ diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/controller/early_msg/AlmEarlyMsgController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/controller/early_msg/AlmEarlyMsgController.java new file mode 100644 index 00000000..2f6e95f4 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/controller/early_msg/AlmEarlyMsgController.java @@ -0,0 +1,21 @@ +package org.nl.wms.early_manage.controller.early_msg; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 仓库报警消息表 前端控制器 + *

+ * + * @author generator + * @since 2024-04-09 + */ +@RestController +@RequestMapping("/almEarlyMsg") +public class AlmEarlyMsgController { + +} + diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/controller/inv_early/AlmEarlyInvController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/controller/inv_early/AlmEarlyInvController.java new file mode 100644 index 00000000..99bfed9b --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/controller/inv_early/AlmEarlyInvController.java @@ -0,0 +1,70 @@ +package org.nl.wms.early_manage.controller.inv_early; + + +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.nl.common.TableDataInfo; +import org.nl.common.domain.entity.PageQuery; +import org.nl.common.utils.IdUtil; +import org.nl.common.utils.SecurityUtils; +import org.nl.wms.early_manage.service.early_dtl.IAlmEarlyDtlService; +import org.nl.wms.early_manage.service.early_dtl.dto.AlmDtlQuery; +import org.nl.wms.early_manage.service.early_inv.IAlmEarlyInvService; +import org.nl.wms.early_manage.service.early_inv.dao.AlmEarlyInv; +import org.nl.wms.early_manage.service.early_inv.dto.AlmInvQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** +订单:1000 +生产订单:1000 + 150-------------------------- + | | + |---300 150 150 150 第一天 + 400 第二天 + 300 第三天 + +**/ +/** + *

+ * 安全库存报警配置表 前端控制器 + *

+ * + * @author generator + * @since 2024-04-09 + */ +@RestController +@RequestMapping("/api/almEarlyInv") +public class AlmEarlyInvController { + + @Autowired + private IAlmEarlyInvService iAlmEarlyInvService; + @Autowired + private IAlmEarlyDtlService iAlmEarlyDtlService; + + @GetMapping + public ResponseEntity getAll(AlmInvQuery query, PageQuery page) { + Page page1 = iAlmEarlyInvService.page(page.build(), query.build()); + return new ResponseEntity<>(TableDataInfo.build(iAlmEarlyInvService.page(page.build(), query.build())), HttpStatus.OK); + } + @GetMapping("/dtl") + public ResponseEntity getDtl(AlmDtlQuery query, PageQuery page) { + return new ResponseEntity<>(TableDataInfo.build(iAlmEarlyDtlService.page(page.build(),query.build())), HttpStatus.OK); + } + + + @PostMapping + public ResponseEntity create(@Validated @RequestBody JSONObject dto) { + AlmEarlyInv inv = dto.toJavaObject(AlmEarlyInv.class); + inv.setCreate_id(SecurityUtils.getCurrentUserId()); + inv.setId(IdUtil.getStringId()); + inv.setCreate_time(DateUtil.now()); + iAlmEarlyInvService.save(inv); + return new ResponseEntity<>(HttpStatus.CREATED); + } +} + diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/AlmTypeEnum.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/AlmTypeEnum.java new file mode 100644 index 00000000..1b1f07a5 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/AlmTypeEnum.java @@ -0,0 +1,10 @@ +package org.nl.wms.early_manage.service; + +/* + * @author ZZQ + * @Date 2024/4/10 14:08 + */ +public enum AlmTypeEnum { + INV_ESRLY, + Stay_ESRLY; +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/IAlmEarlyDtlService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/IAlmEarlyDtlService.java new file mode 100644 index 00000000..52156bd6 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/IAlmEarlyDtlService.java @@ -0,0 +1,20 @@ +package org.nl.wms.early_manage.service.early_dtl; + +import org.nl.wms.early_manage.service.early_dtl.dao.AlmEarlyDtl; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + *

+ * 报警配置明细 服务类 + *

+ * + * @author generator + * @since 2024-04-10 + */ +public interface IAlmEarlyDtlService extends IService { + + void batchInsert(String alm_id,List items); + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/dao/AlmEarlyDtl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/dao/AlmEarlyDtl.java new file mode 100644 index 00000000..c15122f1 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/dao/AlmEarlyDtl.java @@ -0,0 +1,34 @@ +package org.nl.wms.early_manage.service.early_dtl.dao; + +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 报警配置明细 + *

+ * + * @author generator + * @since 2024-04-10 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("alm_early_dtl") +public class AlmEarlyDtl implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 安全库存方案id + */ + private String alm_id; + + /** + * 物料标识 + */ + private String material_id; + + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/dao/mapper/AlmEarlyDtlMapper.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/dao/mapper/AlmEarlyDtlMapper.java new file mode 100644 index 00000000..f109c14e --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/dao/mapper/AlmEarlyDtlMapper.java @@ -0,0 +1,21 @@ +package org.nl.wms.early_manage.service.early_dtl.dao.mapper; + +import org.apache.ibatis.annotations.Param; +import org.nl.wms.early_manage.service.early_dtl.dao.AlmEarlyDtl; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.Collection; +import java.util.List; + +/** + *

+ * 报警配置明细 Mapper 接口 + *

+ * + * @author generator + * @since 2024-04-10 + */ +public interface AlmEarlyDtlMapper extends BaseMapper { + + void batchInsert(@Param("alm_id") String alm_id, @Param("materials") List materials); +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/dao/mapper/xml/AlmEarlyDtlMapper.xml b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/dao/mapper/xml/AlmEarlyDtlMapper.xml new file mode 100644 index 00000000..d88935c6 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/dao/mapper/xml/AlmEarlyDtlMapper.xml @@ -0,0 +1,11 @@ + + + + + + insert into alm_early_dtl values + + (#{alm_id},#{item}) + + + diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/dto/AlmDtlQuery.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/dto/AlmDtlQuery.java new file mode 100644 index 00000000..e3af6077 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/dto/AlmDtlQuery.java @@ -0,0 +1,24 @@ +package org.nl.wms.early_manage.service.early_dtl.dto; + +import lombok.Data; +import org.nl.common.domain.entity.BaseQuery; +import org.nl.common.domain.entity.QParam; +import org.nl.common.enums.QueryTEnum; +import org.nl.wms.early_manage.service.early_dtl.dao.AlmEarlyDtl; +import org.nl.wms.early_manage.service.early_inv.dao.AlmEarlyInv; + +/* + * @author ZZQ + * @Date 2023/5/4 19:49 + */ +@Data +public class AlmDtlQuery extends BaseQuery { + + + @Override + public void paramMapping() { + super.doP.put("search", QParam.builder().k(new String[]{"local_field_name", "external_field_name"}).type(QueryTEnum.EQ).build()); + } + + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/impl/AlmEarlyDtlServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/impl/AlmEarlyDtlServiceImpl.java new file mode 100644 index 00000000..a5721a47 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_dtl/impl/AlmEarlyDtlServiceImpl.java @@ -0,0 +1,32 @@ +package org.nl.wms.early_manage.service.early_dtl.impl; + +import org.apache.commons.lang3.StringUtils; +import org.nl.wms.early_manage.service.early_dtl.IAlmEarlyDtlService; +import org.nl.wms.early_manage.service.early_dtl.dao.AlmEarlyDtl; +import org.nl.wms.early_manage.service.early_dtl.dao.mapper.AlmEarlyDtlMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.List; + +/** + *

+ * 报警配置明细 服务实现类 + *

+ * + * @author generator + * @since 2024-04-10 + */ +@Service +public class AlmEarlyDtlServiceImpl extends ServiceImpl implements IAlmEarlyDtlService { + + @Override + public void batchInsert(String alm_id,List materials) { + if (CollectionUtils.isEmpty(materials)|| StringUtils.isEmpty(alm_id)){ + return; + } + this.baseMapper.batchInsert(alm_id,materials); + } + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/IAlmEarlyInvService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/IAlmEarlyInvService.java new file mode 100644 index 00000000..ee10c93b --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/IAlmEarlyInvService.java @@ -0,0 +1,23 @@ +package org.nl.wms.early_manage.service.early_inv; + +import com.alibaba.fastjson.JSONObject; +import org.nl.wms.early_manage.service.early_inv.dao.AlmEarlyInv; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 安全库存报警配置表 服务类 + *

+ * + * @author generator + * @since 2024-04-09 + */ +public interface IAlmEarlyInvService extends IService { + + /** + * 存储安全库存方案 + * @param param + */ + void savaAlmEarly(JSONObject param); + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/dao/AlmEarlyInv.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/dao/AlmEarlyInv.java new file mode 100644 index 00000000..770e0c6d --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/dao/AlmEarlyInv.java @@ -0,0 +1,85 @@ +package org.nl.wms.early_manage.service.early_inv.dao; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.util.List; + +import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; +import lombok.*; + +/** + *

+ * 安全库存报警配置表 + *

+ * + * @author generator + * @since 2024-04-09 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName(value = "alm_early_inv",autoResultMap = true) +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class AlmEarlyInv implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + + /** + * 安全库存方案名称 + */ + private String alm_name; + + /** + * 仓库编码 + */ + private String stor_code; + + /** + * 安全库存数量 + */ + private Integer safety_qty; + + /** + * 安全库存天数 + */ + private Integer safety_day; + + /** + * 表达式 + */ + private String expression; + + /** + * 报警通知类型:1站内信2微信3xxx + */ + private String notice_type; + + /** + * 创建人 + */ + private String create_id; + + /** + * 创建时间 + */ + private String create_time; + + /** + * 扩展信息 + */ + private String ext_json; + /** + * 扩展信息 + */ + private Boolean is_used; + /** + * 备注 + */ + private String remark; + + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/dao/mapper/AlmEarlyInvMapper.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/dao/mapper/AlmEarlyInvMapper.java new file mode 100644 index 00000000..83eb4a67 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/dao/mapper/AlmEarlyInvMapper.java @@ -0,0 +1,16 @@ +package org.nl.wms.early_manage.service.early_inv.dao.mapper; + +import org.nl.wms.early_manage.service.early_inv.dao.AlmEarlyInv; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 安全库存报警配置表 Mapper 接口 + *

+ * + * @author generator + * @since 2024-04-09 + */ +public interface AlmEarlyInvMapper extends BaseMapper { + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/dao/mapper/xml/AlmEarlyInvMapper.xml b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/dao/mapper/xml/AlmEarlyInvMapper.xml new file mode 100644 index 00000000..98908bbb --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/dao/mapper/xml/AlmEarlyInvMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/dto/AlmInvQuery.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/dto/AlmInvQuery.java new file mode 100644 index 00000000..44caf01f --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/dto/AlmInvQuery.java @@ -0,0 +1,23 @@ +package org.nl.wms.early_manage.service.early_inv.dto; + +import lombok.Data; +import org.nl.common.domain.entity.BaseQuery; +import org.nl.common.domain.entity.QParam; +import org.nl.common.enums.QueryTEnum; +import org.nl.wms.early_manage.service.early_inv.dao.AlmEarlyInv; + +/* + * @author ZZQ + * @Date 2023/5/4 19:49 + */ +@Data +public class AlmInvQuery extends BaseQuery { + + + @Override + public void paramMapping() { + super.doP.put("search", QParam.builder().k(new String[]{"local_field_name", "external_field_name"}).type(QueryTEnum.EQ).build()); + } + + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/impl/AlmEarlyInvServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/impl/AlmEarlyInvServiceImpl.java new file mode 100644 index 00000000..fd4e2e4f --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_inv/impl/AlmEarlyInvServiceImpl.java @@ -0,0 +1,80 @@ +package org.nl.wms.early_manage.service.early_inv.impl; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.apache.commons.lang3.StringUtils; +import org.nl.common.domain.exception.BadRequestException; +import org.nl.common.utils.IdUtil; +import org.nl.common.utils.SecurityUtils; +import org.nl.wms.base_manage.material.service.IBmMaterialService; +import org.nl.wms.base_manage.material.service.dao.BmMaterial; +import org.nl.wms.early_manage.service.AlmTypeEnum; +import org.nl.wms.early_manage.service.early_dtl.IAlmEarlyDtlService; +import org.nl.wms.early_manage.service.early_inv.dao.AlmEarlyInv; +import org.nl.wms.early_manage.service.early_inv.dao.mapper.AlmEarlyInvMapper; +import org.nl.wms.early_manage.service.early_inv.IAlmEarlyInvService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.stream.Collectors; + +/** + *

+ * 安全库存报警配置表 服务实现类 + *

+ * + * @author generator + * @since 2024-04-09 + */ +@Service +public class AlmEarlyInvServiceImpl extends ServiceImpl implements IAlmEarlyInvService { + + @Autowired + IBmMaterialService materialService; + @Autowired + IAlmEarlyDtlService iAlmEarlyDtlService; + + @Override + @Transactional + public void savaAlmEarly(JSONObject param) { + if (param==null){ + return; + } + AlmEarlyInv build = AlmEarlyInv.builder() + .alm_name(param.getString("alm_name")) + .expression(param.getString("expression")) + .ext_json(param.getString("ext_json")) + .notice_type(param.getString("notice_type")) + .remark(param.getString("remark")) + .safety_qty(param.getInteger("safety_qty")) + .safety_day(param.getInteger("safety_day")) + .stor_code(param.getString("stor_code")) + .is_used(true) + .create_id(SecurityUtils.getCurrentUserId()) + .create_time(DateUtil.now()) + .id(IdUtil.getStringId()).build(); + Boolean screening = param.getBoolean("screening"); + List items; + if (screening){ + String material_type = param.getString("material_type"); + if (StringUtils.isEmpty(material_type)){ + throw new BadRequestException("根据类型筛选必须选择类型"); + } + List list = materialService.list(new QueryWrapper().select("material_id").eq("material_type_id", material_type)); + items = list.stream().map(BmMaterial::getMaterial_id).collect(Collectors.toList()); + }else { + JSONArray item = param.getJSONArray("item"); + items = item.toJavaList(String.class); + } + this.save(build); + if (!CollectionUtils.isEmpty(items)){ + iAlmEarlyDtlService.batchInsert(build.getId(),items); + } + } +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_msg/IAlmEarlyMsgService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_msg/IAlmEarlyMsgService.java new file mode 100644 index 00000000..b869aee6 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_msg/IAlmEarlyMsgService.java @@ -0,0 +1,16 @@ +package org.nl.wms.early_manage.service.early_msg; + +import org.nl.wms.early_manage.service.early_msg.dao.AlmEarlyMsg; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 仓库报警消息表 服务类 + *

+ * + * @author generator + * @since 2024-04-09 + */ +public interface IAlmEarlyMsgService extends IService { + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_msg/dao/AlmEarlyMsg.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_msg/dao/AlmEarlyMsg.java new file mode 100644 index 00000000..bf845b74 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_msg/dao/AlmEarlyMsg.java @@ -0,0 +1,71 @@ +package org.nl.wms.early_manage.service.early_msg.dao; + +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 仓库报警消息表 + *

+ * + * @author generator + * @since 2024-04-09 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("alm_early_msg") +public class AlmEarlyMsg implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + + /** + * 消息类型:安全库存报警,呆料报警 + */ + private String early_type; + + /** + * 仓库编码 + */ + private String stor_code; + + /** + * 载具编码 + */ + private String vehicle_code; + + /** + * 物料标识 + */ + private String material_id; + + /** + * 物料批次 + */ + private String pcsn; + + /** + * 库存数量 + */ + private Integer qty; + + /** + * 创建时间 + */ + private String create_time; + + /** + * 是否处理 + */ + private Boolean is_read; + + /** + * 扩展仓库库存信息 + */ + private String ext_json; + + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_msg/dao/mapper/AlmEarlyMsgMapper.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_msg/dao/mapper/AlmEarlyMsgMapper.java new file mode 100644 index 00000000..7b73bed7 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_msg/dao/mapper/AlmEarlyMsgMapper.java @@ -0,0 +1,16 @@ +package org.nl.wms.early_manage.service.early_msg.dao.mapper; + +import org.nl.wms.early_manage.service.early_msg.dao.AlmEarlyMsg; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 仓库报警消息表 Mapper 接口 + *

+ * + * @author generator + * @since 2024-04-09 + */ +public interface AlmEarlyMsgMapper extends BaseMapper { + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_msg/dao/mapper/xml/AlmEarlyMsgMapper.xml b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_msg/dao/mapper/xml/AlmEarlyMsgMapper.xml new file mode 100644 index 00000000..2ad9fefa --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_msg/dao/mapper/xml/AlmEarlyMsgMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_msg/impl/AlmEarlyMsgServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_msg/impl/AlmEarlyMsgServiceImpl.java new file mode 100644 index 00000000..db2f558e --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/service/early_msg/impl/AlmEarlyMsgServiceImpl.java @@ -0,0 +1,20 @@ +package org.nl.wms.early_manage.service.early_msg.impl; + +import org.nl.wms.early_manage.service.early_msg.dao.AlmEarlyMsg; +import org.nl.wms.early_manage.service.early_msg.dao.mapper.AlmEarlyMsgMapper; +import org.nl.wms.early_manage.service.early_msg.IAlmEarlyMsgService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 仓库报警消息表 服务实现类 + *

+ * + * @author generator + * @since 2024-04-09 + */ +@Service +public class AlmEarlyMsgServiceImpl extends ServiceImpl implements IAlmEarlyMsgService { + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/controller/model/ActDeModelController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/controller/model/ActDeModelController.java index 8e60cb4a..becc749b 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/controller/model/ActDeModelController.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/controller/model/ActDeModelController.java @@ -6,6 +6,7 @@ import cn.hutool.core.date.DateUtil; import org.nl.common.TableDataInfo; import org.nl.common.domain.entity.PageQuery; import org.nl.common.utils.FileUtil; +import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; import org.nl.wms.flow_manage.flow.framework.engine.cmd.CommandExecutor; import org.nl.wms.flow_manage.flow.framework.engine.cmd.unify.impl.StartInstanceCmd; @@ -54,6 +55,7 @@ public class ActDeModelController { public ResponseEntity add(@Validated @RequestBody ActDeModel dto) { dto.setCreate_id(SecurityUtils.getCurrentUserId()); dto.setCreate_time(DateUtil.now()); + dto.setId(IdUtil.getStringId()); modelService.save(dto); return new ResponseEntity<>(HttpStatus.OK); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/source/SourceDataTypeHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/source/SourceDataTypeHandler.java index 2c15326b..c74b8b64 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/source/SourceDataTypeHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/source/SourceDataTypeHandler.java @@ -3,6 +3,7 @@ package org.nl.wms.flow_manage.flow.framework.process.nodeType.source; import cn.hutool.json.JSONObject; import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc; import org.nl.wms.flow_manage.flow.framework.process.nodeType.TypeHandler; +import org.nl.wms.sync_manage.service.form_mapping.dao.SyncFormMapping; import java.util.List; @@ -17,5 +18,5 @@ public abstract class SourceDataTypeHandler extends TypeHandler bean = SpringContextHolder.getBean(""); return bean.handler(); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/source/impl/MappingSourceDataTypeHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/source/impl/MappingSourceDataTypeHandler.java index 4c3d3a1d..ad8711a5 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/source/impl/MappingSourceDataTypeHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/source/impl/MappingSourceDataTypeHandler.java @@ -1,13 +1,16 @@ package org.nl.wms.flow_manage.flow.framework.process.nodeType.source.impl; import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.SneakyThrows; +import org.apache.commons.lang3.StringUtils; import org.nl.common.utils.IdUtil; import org.nl.common.utils.ListOf; -import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc; import org.nl.wms.flow_manage.flow.framework.process.nodeType.source.SourceDataTypeHandler; import org.nl.wms.pm_manage.form_data.service.dao.PmFormData; +import org.nl.wms.sync_manage.service.form_mapping.dao.SyncFormMapping; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.lang.reflect.Field; @@ -19,30 +22,58 @@ import java.util.List; */ @Service public class MappingSourceDataTypeHandler extends SourceDataTypeHandler { + + + + @Value("${server.port}") + private String post; //material_id,qty,pcsn,code这些属于基础字段 private List base_parm = ListOf.of("data","code","material_id","qty","pcsn","code"); @Override @SneakyThrows - public PmFormData sourceHandler(String entity, BmFormStruc form_struc) { + public PmFormData sourceHandler(String entity, SyncFormMapping formMapping) { + JSONArray datas = JSONArray.parseArray(entity); + JSONArray mapping = (JSONArray)formMapping.getMapping_json().remove(0); + PmFormData formData = new PmFormData(); formData.setId(IdUtil.getStringId()); - formData.setForm_type(form_struc.getForm_type()); + formData.setForm_type(formMapping.getForm_type()); formData.setStatus("1"); formData.setCreate_time(DateUtil.now()); - formData.setStatus("1"); - Class dataClass = PmFormData.class; - JSONObject source = JSONObject.parseObject(entity); JSONObject form_json = new JSONObject(); - for (String key : form_struc.getForm_param().keySet()) { - Object value = source.get(key); - String mapping_field = form_struc.getForm_param().getString(key); - form_json.put(mapping_field,value); - if (base_parm.contains(mapping_field)){ - Field field = dataClass.getDeclaredField(mapping_field); - field.setAccessible(true); - field.set(formData,value); + formData.setForm_data(form_json); + + Class dataClass = PmFormData.class; + for (Object jdata : datas) { + JSONObject data = (JSONObject) jdata; + for (int i = 0; i < mapping.size(); i++) { + JSONObject item_filed = mapping.getJSONObject(i); + String mapping_field = item_filed.getString("value"); + String skipExpression = item_filed.getString("skipExpression"); + Object value = null; + if (StringUtils.isNotEmpty(skipExpression)){ + //el表达式 + }else { + value = data.get(mapping_field); + } + if (base_parm.contains(mapping_field)){ + Field field = dataClass.getDeclaredField(mapping_field); + field.setAccessible(true); + field.set(formData,value); + }else { + form_json.put(mapping_field,value); + } } } + return formData; } + + public String getPost() { + return post; + } + + public void setPost(String post) { + this.post = post; + } } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/source/impl/ScriptSourceDataTypeHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/source/impl/ScriptSourceDataTypeHandler.java index 0d9b100b..4c504f81 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/source/impl/ScriptSourceDataTypeHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/source/impl/ScriptSourceDataTypeHandler.java @@ -1,9 +1,8 @@ package org.nl.wms.flow_manage.flow.framework.process.nodeType.source.impl; -import cn.hutool.json.JSONObject; import groovy.lang.GroovyShell; -import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc; import org.nl.wms.flow_manage.flow.framework.process.nodeType.source.SourceDataTypeHandler; +import org.nl.wms.sync_manage.service.form_mapping.dao.SyncFormMapping; import org.springframework.stereotype.Service; /* @@ -14,7 +13,7 @@ import org.springframework.stereotype.Service; public class ScriptSourceDataTypeHandler extends SourceDataTypeHandler { @Override - public Object sourceHandler(String entity, BmFormStruc form_struc) { + public Object sourceHandler(String entity, SyncFormMapping formMapping) { GroovyShell shell = new GroovyShell(); Object 脚本 = shell.evaluate("脚本"); return 脚本; diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/model/dto/ModelQuery.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/model/dto/ModelQuery.java index a90bdfec..771ec12b 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/model/dto/ModelQuery.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/model/dto/ModelQuery.java @@ -4,7 +4,7 @@ import lombok.Data; import org.nl.common.domain.entity.BaseQuery; import org.nl.common.domain.entity.QParam; import org.nl.common.enums.QueryTEnum; -import org.nl.wms.base_manage.field_mapping.service.dao.BmExternalFieldMapping; +import org.nl.wms.sync_manage.service.field_mapping.dao.BmExternalFieldMapping; import org.nl.wms.flow_manage.flow.service.model.dao.ActDeModel; /* diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/PmFormData.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/PmFormData.java index 5d5e6f9b..d93bf7a0 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/PmFormData.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/PmFormData.java @@ -1,10 +1,14 @@ package org.nl.wms.pm_manage.form_data.service.dao; import java.math.BigDecimal; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.util.List; +import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; import lombok.Data; import lombok.EqualsAndHashCode; @@ -18,7 +22,7 @@ import lombok.EqualsAndHashCode; */ @Data @EqualsAndHashCode(callSuper = false) -@TableName("pm_form_data") +@TableName(value = "pm_form_data",autoResultMap = true) public class PmFormData implements Serializable { private static final long serialVersionUID = 1L; @@ -76,7 +80,8 @@ public class PmFormData implements Serializable { /** * 自定义表单字段 */ - private String form_data; + @TableField(typeHandler = FastjsonTypeHandler.class) + private JSONObject form_data; /** * 关联上级表单id diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/impl/PmFormDataServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/impl/PmFormDataServiceImpl.java index 96c027da..f43b39c8 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/impl/PmFormDataServiceImpl.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/impl/PmFormDataServiceImpl.java @@ -8,7 +8,10 @@ import org.nl.wms.pm_manage.form_data.service.dao.PmFormData; import org.nl.wms.pm_manage.form_data.service.dao.mapper.PmFormDataMapper; import org.nl.wms.pm_manage.form_data.service.IPmFormDataService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.nl.wms.sync_manage.service.form_mapping.ISyncFormMappingService; +import org.nl.wms.sync_manage.service.form_mapping.dao.SyncFormMapping; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.util.Assert; @@ -35,24 +38,30 @@ import java.util.Map; */ @Service public class PmFormDataServiceImpl extends ServiceImpl implements IPmFormDataService { + + + @Autowired IBmFormStrucService formStrucService; @Autowired + ISyncFormMappingService iSyncFormMappingService; + @Autowired Map> SourceDataTypeHandlerMap; @Override public Integer syncFormData(String form_type, String dataString) { + SyncFormMapping syncFormMapping = iSyncFormMappingService.getOne(new QueryWrapper().eq("form_type", form_type)); BmFormStruc one = formStrucService.getOne(new QueryWrapper().eq("form_type", form_type)); Assert.notNull(one,"当前单据类型未定义"+form_type); List saves = new ArrayList<>(); //TODO: 查询同步配置表:获取表单的同步处理:SourceDataTypeHandler:分为字段映射跟class类处理,脚本处理 - PmFormData formData = SourceDataTypeHandlerMap.get(form_type).sourceHandler(dataString, one); + PmFormData formData = SourceDataTypeHandlerMap.get(form_type).sourceHandler(dataString, syncFormMapping); saves.add(formData); if (one.getHas_child()){ BmFormStruc item = formStrucService.getOne(new QueryWrapper().eq("parent_id", one.getId())); String[] split = dataString.split(","); for (String itemData : split) { - PmFormData itemForm = SourceDataTypeHandlerMap.get(form_type).sourceHandler(itemData, item); + PmFormData itemForm = SourceDataTypeHandlerMap.get(form_type).sourceHandler(itemData, syncFormMapping); itemForm.setParent_id(formData.getId()); saves.add(itemForm); } @@ -60,4 +69,6 @@ public class PmFormDataServiceImpl extends ServiceImpl - * 同步字段映射表 前端控制器 - *

- * - * @author generator - * @since 2024-03-06 - */ -@RestController -@RequestMapping("/api/externalFieldMapping") -public class BmExternalFieldMappingController { - - @Autowired - private IBmExternalFieldMappingService mappingsService; - - - @GetMapping - public ResponseEntity getAll(MappingQuery query, PageQuery page) { - return new ResponseEntity<>(TableDataInfo.build(mappingsService.page(page.build(), query.build())), HttpStatus.OK); - } - - @PostMapping - public ResponseEntity create(@Validated @RequestBody BmExternalFieldMapping dto) { - mappingsService.save(dto); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @PostMapping("/addRows") - public ResponseEntity addRows(@RequestBody RequestMappingParam param) { - mappingsService.addRows(param); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @PutMapping - public ResponseEntity update(@Validated @RequestBody BmExternalFieldMapping dto) { - mappingsService.update(dto, new LambdaUpdateWrapper().eq(BmExternalFieldMapping::getId, dto.getId())); - return new ResponseEntity<>(HttpStatus.OK); - } - - @PutMapping("/updateRows") - public ResponseEntity updateRows(@RequestBody RequestMappingParam param) { - mappingsService.updateRows(param); - return new ResponseEntity<>(HttpStatus.OK); - } - - @DeleteMapping - public ResponseEntity delete(@RequestBody Long[] ids) { - if (ids.length > 0) { - mappingsService.removeByIds(Arrays.asList(ids)); - } - return new ResponseEntity<>(HttpStatus.OK); - } - - @GetMapping("/getTableColumnNames/{table_name}") - public ResponseEntity getTableColumnNames(@PathVariable String table_name) { - return new ResponseEntity<>(mappingsService.getTableColumnNames(table_name), HttpStatus.OK); - } - - @GetMapping("/getTableColumnNamesFromMapping/{table_name}") - public ResponseEntity getTableColumnNamesFromMapping(@PathVariable String table_name) { - return new ResponseEntity<>(mappingsService.getTableColumnNamesFromMapping(table_name), HttpStatus.OK); - } - - @GetMapping("/getAllTableName") - public ResponseEntity getAllTableName() { - return new ResponseEntity<>(mappingsService.getAllTableName(), HttpStatus.OK); - } - - @GetMapping("/getExistTableName") - public ResponseEntity getExistTableName() { - return new ResponseEntity<>(mappingsService.getExistTableName(), HttpStatus.OK); - } -} - +package org.nl.wms.sync_manage.controller.field_mapping; + + +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import org.nl.common.TableDataInfo; +import org.nl.common.domain.entity.PageQuery; +import org.nl.wms.sync_manage.service.field_mapping.IBmExternalFieldMappingService; +import org.nl.wms.sync_manage.service.field_mapping.dao.BmExternalFieldMapping; +import org.nl.wms.sync_manage.service.field_mapping.dto.MappingQuery; +import org.nl.wms.sync_manage.service.field_mapping.dto.RequestMappingParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; + +/** + *

+ * 同步字段映射表 前端控制器 + *

+ * + * @author generator + * @since 2024-03-06 + */ +@RestController +@RequestMapping("/api/externalFieldMapping") +public class BmExternalFieldMappingController { + + @Autowired + private IBmExternalFieldMappingService mappingsService; + + + @GetMapping + public ResponseEntity getAll(MappingQuery query, PageQuery page) { + return new ResponseEntity<>(TableDataInfo.build(mappingsService.page(page.build(), query.build())), HttpStatus.OK); + } + + @PostMapping + public ResponseEntity create(@Validated @RequestBody BmExternalFieldMapping dto) { + mappingsService.save(dto); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PostMapping("/addRows") + public ResponseEntity addRows(@RequestBody RequestMappingParam param) { + mappingsService.addRows(param); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + public ResponseEntity update(@Validated @RequestBody BmExternalFieldMapping dto) { + mappingsService.update(dto, new LambdaUpdateWrapper().eq(BmExternalFieldMapping::getId, dto.getId())); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PutMapping("/updateRows") + public ResponseEntity updateRows(@RequestBody RequestMappingParam param) { + mappingsService.updateRows(param); + return new ResponseEntity<>(HttpStatus.OK); + } + + @DeleteMapping + public ResponseEntity delete(@RequestBody Long[] ids) { + if (ids.length > 0) { + mappingsService.removeByIds(Arrays.asList(ids)); + } + return new ResponseEntity<>(HttpStatus.OK); + } + + @GetMapping("/getTableColumnNames/{table_name}") + public ResponseEntity getTableColumnNames(@PathVariable String table_name) { + return new ResponseEntity<>(mappingsService.getTableColumnNames(table_name), HttpStatus.OK); + } + + @GetMapping("/getTableColumnNamesFromMapping/{table_name}") + public ResponseEntity getTableColumnNamesFromMapping(@PathVariable String table_name) { + return new ResponseEntity<>(mappingsService.getTableColumnNamesFromMapping(table_name), HttpStatus.OK); + } + + @GetMapping("/getAllTableName") + public ResponseEntity getAllTableName() { + return new ResponseEntity<>(mappingsService.getAllTableName(), HttpStatus.OK); + } + + @GetMapping("/getExistTableName") + public ResponseEntity getExistTableName() { + return new ResponseEntity<>(mappingsService.getExistTableName(), HttpStatus.OK); + } +} + diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/controller/form_mapping/SyncFormMappingController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/controller/form_mapping/SyncFormMappingController.java new file mode 100644 index 00000000..c48e1687 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/controller/form_mapping/SyncFormMappingController.java @@ -0,0 +1,88 @@ +package org.nl.wms.sync_manage.controller.form_mapping; + + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import org.nl.common.TableDataInfo; +import org.nl.common.domain.entity.PageQuery; +import org.nl.common.utils.FileUtil; +import org.nl.wms.pm_manage.form_data.service.IPmFormDataService; +import org.nl.wms.sync_manage.service.field_mapping.dto.MappingQuery; +import org.nl.wms.sync_manage.service.form_mapping.ISyncFormMappingService; +import org.nl.wms.sync_manage.service.form_mapping.dao.SyncFormMapping; +import org.nl.wms.sync_manage.service.form_mapping.dto.FormMappingQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.expression.EvaluationContext; +import org.springframework.expression.Expression; +import org.springframework.expression.spel.standard.SpelExpressionParser; +import org.springframework.expression.spel.support.StandardEvaluationContext; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; + +/** + *

+ * 表单同步配置表 前端控制器 + *

+ * + * @author generator + * @since 2024-04-11 + * 表单同步规则:从erp拉取数据 + * | + * 单据结构表获取单据需要的字段<---->单据配置的映射关系获取到需要字段的值 + * | + * 结构表has_child:单据明细的单据结构表字段<---->单据配置的映射关系获取到需要字段的值 + * | + * 保存明细跟主单据 + */ +@RestController +@RequestMapping("api/syncFormMapping") +public class SyncFormMappingController { + + private static final SpelExpressionParser SPEL_PARSER = new SpelExpressionParser(); + + @Autowired + ISyncFormMappingService iSyncFormMappingService; + @Autowired + IPmFormDataService formDataService; + + public static void main(String[] args) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("ddd","kkk"); + StandardEvaluationContext context = new StandardEvaluationContext(); + context.setVariable("query1",jsonObject); + Expression expression = SPEL_PARSER.parseExpression("#query1.ddd"); + String value = expression.getValue(context, String.class); + System.out.println(value); + } + @GetMapping + public ResponseEntity getAll(FormMappingQuery query, PageQuery page) { + + return new ResponseEntity<>(TableDataInfo.build(iSyncFormMappingService.page(page.build(), query.build())), HttpStatus.OK); + } + @PostMapping("/create") + public ResponseEntity create(@RequestBody JSONObject param) { + iSyncFormMappingService.saveSyncMapping(param); + return new ResponseEntity<>(HttpStatus.OK); + } + @DeleteMapping + public ResponseEntity delete(@RequestBody String[] ids) { + if (ids.length>0){ + iSyncFormMappingService.removeByIds(Arrays.asList(ids)); + } + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/syncData") + public ResponseEntity syncData(@RequestBody JSONObject syncFormMapping) { + SyncFormMapping mapping = syncFormMapping.toJavaObject(SyncFormMapping.class); + String data = FileUtil.readString("/Users/mima0000/Desktop/formdata.txt", "UTF_8"); + formDataService.syncFormData(mapping.getForm_type(),data); + return new ResponseEntity<>(HttpStatus.OK); + } + +} + diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/handler/BaseSyncClassHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/handler/BaseSyncClassHandler.java similarity index 70% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/handler/BaseSyncClassHandler.java rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/handler/BaseSyncClassHandler.java index 48e61b5b..89b7f34c 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/handler/BaseSyncClassHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/handler/BaseSyncClassHandler.java @@ -1,4 +1,4 @@ -package org.nl.wms.base_manage.field_mapping.handler; +package org.nl.wms.sync_manage.handler; /* * @author ZZQ diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/handler/impl/IosinvSyncClassHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/handler/impl/IosinvSyncClassHandler.java similarity index 64% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/handler/impl/IosinvSyncClassHandler.java rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/handler/impl/IosinvSyncClassHandler.java index de9edfba..fc99db8f 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/handler/impl/IosinvSyncClassHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/handler/impl/IosinvSyncClassHandler.java @@ -1,7 +1,7 @@ -package org.nl.wms.base_manage.field_mapping.handler.impl; +package org.nl.wms.sync_manage.handler.impl; import com.alibaba.fastjson.JSONObject; -import org.nl.wms.base_manage.field_mapping.handler.BaseSyncClassHandler; +import org.nl.wms.sync_manage.handler.BaseSyncClassHandler; /* * @author ZZQ diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/IBmExternalFieldMappingService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/service/field_mapping/IBmExternalFieldMappingService.java similarity index 82% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/IBmExternalFieldMappingService.java rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/service/field_mapping/IBmExternalFieldMappingService.java index 0649bb74..845be08d 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/IBmExternalFieldMappingService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/service/field_mapping/IBmExternalFieldMappingService.java @@ -1,66 +1,66 @@ -package org.nl.wms.base_manage.field_mapping.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import org.nl.wms.base_manage.field_mapping.service.dao.BmExternalFieldMapping; -import org.nl.wms.base_manage.field_mapping.service.dto.RequestMappingParam; - -import java.util.List; -import java.util.Map; - -/** - *

- * 同步字段映射表 服务类 - *

- * - * @author generator - * @since 2024-03-06 - */ -public interface IBmExternalFieldMappingService extends IService { - - - /** - * 根据数据表名获取所有字段名称 - * - * @param tableName - * @return - */ - List> getTableColumnNames(String tableName); - - /** - * 获取数据库中所有表的名称 - * - * @return - */ - List getAllTableName(); - - - /** - * 查询已配置的数据库表名 - * - * @return - */ - List getExistTableName(); - - /** - * 批量添加 - * - * @param param - */ - void addRows(RequestMappingParam param); - - /** - * 批量修改 - * - * @param param - */ - void updateRows(RequestMappingParam param); - - /** - * 从映射关系表中获取已配置映射关系的 - * - * @param table_name - * @return - */ - BmExternalFieldMapping getTableColumnNamesFromMapping(String table_name); -} +package org.nl.wms.sync_manage.service.field_mapping; + + +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.wms.sync_manage.service.field_mapping.dao.BmExternalFieldMapping; +import org.nl.wms.sync_manage.service.field_mapping.dto.RequestMappingParam; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 同步字段映射表 服务类 + *

+ * + * @author generator + * @since 2024-03-06 + */ +public interface IBmExternalFieldMappingService extends IService { + + + /** + * 根据数据表名获取所有字段名称 + * + * @param tableName + * @return + */ + List> getTableColumnNames(String tableName); + + /** + * 获取数据库中所有表的名称 + * + * @return + */ + List getAllTableName(); + + + /** + * 查询已配置的数据库表名 + * + * @return + */ + List getExistTableName(); + + /** + * 批量添加 + * + * @param param + */ + void addRows(RequestMappingParam param); + + /** + * 批量修改 + * + * @param param + */ + void updateRows(RequestMappingParam param); + + /** + * 从映射关系表中获取已配置映射关系的 + * + * @param table_name + * @return + */ + BmExternalFieldMapping getTableColumnNamesFromMapping(String table_name); +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/dao/BmExternalFieldMapping.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/service/field_mapping/dao/BmExternalFieldMapping.java similarity index 86% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/dao/BmExternalFieldMapping.java rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/service/field_mapping/dao/BmExternalFieldMapping.java index 211e3b55..bff2b044 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/dao/BmExternalFieldMapping.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/service/field_mapping/dao/BmExternalFieldMapping.java @@ -1,79 +1,79 @@ -package org.nl.wms.base_manage.field_mapping.service.dao; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.nl.wms.base_manage.field_mapping.service.dto.MappingDto; - -/** - *

- * 同步字段映射表 - *

- * - * @author generator - * @since 2024-03-06 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@TableName("bm_external_field_mapping") -public class BmExternalFieldMapping implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - private String id; - - /** - * 本地数据库表名称 - */ - private String local_table_name; - - /** - * 接口地址 - */ - private String api_address; - - /** - * 同步类型 - */ - private String sync_type; - - /** - * 外部系统 - */ - private String external_system; - - /** - * 映射关系 - */ - private String mapping_json; - - /** - * 修改人ID - */ - private String last_update_id; - - /** - * 修改人名称 - */ - private String last_update_name; - - /** - * 修改时间 - */ - private String last_update_time; - - /** - * mapping_json解析 - */ - @TableField(exist = false) - private List dtos = new ArrayList<>(); -} +package org.nl.wms.sync_manage.service.field_mapping.dao; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nl.wms.sync_manage.service.field_mapping.dto.MappingDto; + +/** + *

+ * 同步字段映射表 + *

+ * + * @author generator + * @since 2024-03-06 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bm_external_field_mapping") +public class BmExternalFieldMapping implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 本地数据库表名称 + */ + private String local_table_name; + + /** + * 接口地址 + */ + private String api_address; + + /** + * 同步类型 + */ + private String sync_type; + + /** + * 外部系统 + */ + private String external_system; + + /** + * 映射关系 + */ + private String mapping_json; + + /** + * 修改人ID + */ + private String last_update_id; + + /** + * 修改人名称 + */ + private String last_update_name; + + /** + * 修改时间 + */ + private String last_update_time; + + /** + * mapping_json解析 + */ + @TableField(exist = false) + private List dtos = new ArrayList<>(); +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/dao/mapper/BmExternalFieldMappingMapper.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/service/field_mapping/dao/mapper/BmExternalFieldMappingMapper.java similarity index 82% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/dao/mapper/BmExternalFieldMappingMapper.java rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/service/field_mapping/dao/mapper/BmExternalFieldMappingMapper.java index aafe2f8b..adbac977 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/dao/mapper/BmExternalFieldMappingMapper.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/service/field_mapping/dao/mapper/BmExternalFieldMappingMapper.java @@ -1,41 +1,41 @@ -package org.nl.wms.base_manage.field_mapping.service.dao.mapper; - -import org.apache.ibatis.annotations.Param; -import org.nl.wms.base_manage.field_mapping.service.dao.BmExternalFieldMapping; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -import java.util.List; -import java.util.Map; - -/** - *

- * 同步字段映射表 Mapper 接口 - *

- * - * @author generator - * @since 2024-03-06 - */ -public interface BmExternalFieldMappingMapper extends BaseMapper { - - /** - * 根据数据表名获取所有字段名称 - * - * @param tableName - * @return - */ - List> getTableColumnNames(@Param("tableName") String tableName); - - /** - * 获取数据库中所有表的名称 - * - * @return - */ - List getAllTableName(); - - /** - * 查询已配置的数据库表名 - * - * @return - */ - List getExistTableName(); -} +package org.nl.wms.sync_manage.service.field_mapping.dao.mapper; + +import org.apache.ibatis.annotations.Param; +import org.nl.wms.sync_manage.service.field_mapping.dao.BmExternalFieldMapping; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 同步字段映射表 Mapper 接口 + *

+ * + * @author generator + * @since 2024-03-06 + */ +public interface BmExternalFieldMappingMapper extends BaseMapper { + + /** + * 根据数据表名获取所有字段名称 + * + * @param tableName + * @return + */ + List> getTableColumnNames(@Param("tableName") String tableName); + + /** + * 获取数据库中所有表的名称 + * + * @return + */ + List getAllTableName(); + + /** + * 查询已配置的数据库表名 + * + * @return + */ + List getExistTableName(); +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/dao/mapper/xml/BmExternalFieldMappingMapper.xml b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/service/field_mapping/dao/mapper/xml/BmExternalFieldMappingMapper.xml similarity index 93% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/dao/mapper/xml/BmExternalFieldMappingMapper.xml rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/service/field_mapping/dao/mapper/xml/BmExternalFieldMappingMapper.xml index 86d3c09e..2ccb40bc 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/field_mapping/service/dao/mapper/xml/BmExternalFieldMappingMapper.xml +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/sync_manage/service/field_mapping/dao/mapper/xml/BmExternalFieldMappingMapper.xml @@ -1,6 +1,6 @@ - +