rev:表结构修改

This commit is contained in:
zhangzq
2024-06-05 14:42:44 +08:00
97 changed files with 2144 additions and 1111 deletions

View File

@@ -1,12 +1,12 @@
package org.nl.wms.base_manage.vehicle.vehicleInfo.controller;
package org.nl.wms.base_manage.vehicle.controller;
import com.alibaba.fastjson.JSONObject;
import org.nl.common.TableDataInfo;
import org.nl.common.anno.Log;
import org.nl.common.domain.entity.PageQuery;
import org.nl.wms.base_manage.vehicle.vehicleInfo.service.IBmVehicleInfoService;
import org.nl.wms.base_manage.vehicle.vehicleInfo.service.dto.VehicleQuery;
import org.nl.wms.base_manage.vehicle.service.dto.VehicleQuery;
import org.nl.wms.base_manage.vehicle.service.IBmVehicleInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;

View File

@@ -1,12 +1,12 @@
package org.nl.wms.base_manage.vehicle.vehicleInfo.service;
package org.nl.wms.base_manage.vehicle.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.entity.PageQuery;
import org.nl.wms.base_manage.vehicle.vehicleInfo.service.dao.BmVehicleInfo;
import org.nl.wms.base_manage.vehicle.vehicleInfo.service.dto.VehicleQuery;
import org.nl.wms.base_manage.vehicle.service.dao.BmVehicleInfo;
import org.nl.wms.base_manage.vehicle.service.dto.VehicleQuery;
import java.util.List;
import java.util.Map;

View File

@@ -1,4 +1,4 @@
package org.nl.wms.base_manage.vehicle.vehicleInfo.service.dao;
package org.nl.wms.base_manage.vehicle.service.dao;
import java.math.BigDecimal;

View File

@@ -1,6 +1,6 @@
package org.nl.wms.base_manage.vehicle.vehicleInfo.service.dao.mapper;
package org.nl.wms.base_manage.vehicle.service.dao.mapper;
import org.nl.wms.base_manage.vehicle.vehicleInfo.service.dao.BmVehicleInfo;
import org.nl.wms.base_manage.vehicle.service.dao.BmVehicleInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.base_manage.vehicle.vehicleInfo.service.dao.mapper.BmVehicleInfoMapper">
<mapper namespace="org.nl.wms.base_manage.vehicle.service.dao.mapper.BmVehicleInfoMapper">
<select id="vehileInfo" resultType="org.nl.wms.base_manage.vehicle.vehicleInfo.service.dao.BmVehicleInfo">
<select id="vehileInfo" resultType="org.nl.wms.base_manage.vehicle.service.dao.BmVehicleInfo">
select *
from md_pb_storagevehicleinfo
where md_pb_storagevehicleinfo.storagevehicle_code = #{vehicle_code}

View File

@@ -1,10 +1,10 @@
package org.nl.wms.base_manage.vehicle.vehicleInfo.service.dto;
package org.nl.wms.base_manage.vehicle.service.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.base_manage.vehicle.vehicleInfo.service.dao.BmVehicleInfo;
import org.nl.wms.base_manage.vehicle.service.dao.BmVehicleInfo;
/*
* @author ZZQ

View File

@@ -1,4 +1,4 @@
package org.nl.wms.base_manage.vehicle.vehicleInfo.service.impl;
package org.nl.wms.base_manage.vehicle.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
@@ -12,10 +12,10 @@ import org.nl.common.domain.entity.PageQuery;
import org.nl.common.domain.exception.BadRequestException;
import org.nl.common.utils.CodeUtil;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.base_manage.vehicle.vehicleInfo.service.IBmVehicleInfoService;
import org.nl.wms.base_manage.vehicle.vehicleInfo.service.dao.BmVehicleInfo;
import org.nl.wms.base_manage.vehicle.vehicleInfo.service.dao.mapper.BmVehicleInfoMapper;
import org.nl.wms.base_manage.vehicle.vehicleInfo.service.dto.VehicleQuery;
import org.nl.wms.base_manage.vehicle.service.dto.VehicleQuery;
import org.nl.wms.base_manage.vehicle.service.IBmVehicleInfoService;
import org.nl.wms.base_manage.vehicle.service.dao.BmVehicleInfo;
import org.nl.wms.base_manage.vehicle.service.dao.mapper.BmVehicleInfoMapper;
import org.nl.wms.system_manage.service.dict.ISysDictService;
import org.nl.wms.system_manage.service.dict.dao.Dict;
import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -1,29 +0,0 @@
package org.nl.wms.base_manage.vehicle.vehicleMater.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.wms.base_manage.vehicle.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.base_manage.vehicle.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.base_manage.vehicle.vehicleMater.service.dao.mapper.MdPbVehicleMaterMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* <p>
* 载具物料信息表 服务实现类
* </p>
*
* @author generator
* @since 2024-04-08
*/
@Service
public class MdPbVehicleMaterServiceImpl extends ServiceImpl<MdPbVehicleMaterMapper, MdPbVehicleMater> implements IMdPbVehicleMaterService {
@Autowired
private MdPbVehicleMaterMapper mdPbVehicleMaterMapper;
@Override
public Integer getQtySumByMaterial(String material_id) {
return mdPbVehicleMaterMapper.getQtySumByMaterial(material_id);
}
}

View File

@@ -10,11 +10,8 @@ import org.nl.common.publish.BussEventMulticaster;
import org.nl.common.utils.MapOf;
import org.nl.wms.decision_manage.applyTask.AbstractApplyTask;
import org.nl.wms.flow_manage.monitor.event.FlowStartEvent;
import org.nl.wms.md_manage.vehicleGroup.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleGroup.service.dao.MdPbVehicleMater;
import org.nl.wms.md_manage.vehicleGroup.service.dto.MdPbVehicleMaterVo;
import org.nl.wms.md_manage.vehicleGroup.service.dto.MdVehicleGruopDtlVo;
import org.nl.wms.md_manage.vehicleGroup.service.dto.VehicleMaterQuery;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleMater.service.dto.MdPbVehicleMaterVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -45,7 +42,7 @@ public class ApplyFlowTask extends AbstractApplyTask {
if (StringUtils.isEmpty(point_code1)){
throw new BadRequestException("申请任务失败:请求参数数据异常");
}
MdPbVehicleMater mst = iMdPbVehicleMaterService.getGroupMst(vehicle_code);
org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater mst = iMdPbVehicleMaterService.getGroupMst(vehicle_code);
if (mst == null){
throw new BadRequestException("申请任务失败:载具"+vehicle_code+"组盘信息不存在");
}
@@ -57,7 +54,7 @@ public class ApplyFlowTask extends AbstractApplyTask {
JSONObject groupJson = (JSONObject)JSONObject.toJSON(mst);
BussEventMulticaster.Publish(
new FlowStartEvent("md_group",null,new JSONObject(MapOf.of("point_code1",point_code1)))
.build("md_pb_vehicleMater",mst.getId(),mst.getMst_form_type(),mst.getMst_form_id(),(JSONObject) groupJson)
.build("md_pb_vehicleMater",mst.getId(),mst.getSource_form_type(),mst.getSource_form_id(),(JSONObject) groupJson)
.build("md_pb_vehicleMater",item)
);
}

View File

@@ -4,7 +4,8 @@ import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import org.nl.common.domain.exception.BadRequestException;
import org.nl.common.utils.MapOf;
import org.nl.wms.md_manage.vehicleGroup.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.stor_manage.struct.service.IStIvtStructattrService;
import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr;
import org.nl.wms.decision_manage.handler.Decisioner;

View File

@@ -3,8 +3,8 @@ package org.nl.wms.decision_manage.handler.impl.base;
import com.alibaba.fastjson.JSONArray;
import org.nl.common.domain.exception.BadRequestException;
import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr;
import org.nl.wms.base_manage.vehicle.vehicleInfo.service.IBmVehicleInfoService;
import org.nl.wms.base_manage.vehicle.vehicleInfo.service.dao.BmVehicleInfo;
import org.nl.wms.base_manage.vehicle.service.IBmVehicleInfoService;
import org.nl.wms.base_manage.vehicle.service.dao.BmVehicleInfo;
import org.nl.wms.decision_manage.handler.Decisioner;
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.IStIvtIostorinvdtlService;
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;

View File

@@ -10,10 +10,11 @@ import org.nl.common.enums.StatusEnum;
import org.nl.common.utils.CodeUtil;
import org.nl.common.utils.IdUtil;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.md_manage.vehicleGroup.service.IMdPbVehicleMaterService;
import org.nl.wms.dispatch_manage.task.handler.TaskHandler;
import org.nl.wms.dispatch_manage.task.service.ISchBaseTaskService;
import org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;

View File

@@ -6,12 +6,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.nl.common.enums.StatusEnum;
import org.nl.common.publish.BussEventMulticaster;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.md_manage.vehicleGroup.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleGroup.service.dao.MdPbVehicleMater;
import org.nl.wms.dispatch_manage.task.handler.StructEvent;
import org.nl.wms.dispatch_manage.task.handler.TaskHandler;
import org.nl.wms.dispatch_manage.task.service.ISchBaseTaskService;
import org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

View File

@@ -0,0 +1,116 @@
package org.nl.wms.early_manage.controller.early_deferral;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
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.base_manage.material.service.IMdMeMaterialbaseService;
import org.nl.wms.base_manage.material.service.dao.MdMeMaterialbase;
import org.nl.wms.early_manage.service.early_deferral.IAlmEarlyDeferralDetailService;
import org.nl.wms.early_manage.service.early_deferral.IAlmEarlyDeferralService;
import org.nl.wms.early_manage.service.early_deferral.dao.AlmEarlyDeferral;
import org.nl.wms.early_manage.service.early_deferral.dao.AlmEarlyDeferralDetail;
import org.nl.wms.early_manage.service.early_deferral.dto.AlmDeferralQuery;
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;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author generator
* @since 2024-05-31
*/
@RestController
@RequestMapping("/api/almEarlyDeferral")
public class AlmEarlyDeferralController {
@Autowired
private IAlmEarlyDeferralService almEarlyDeferralService;
@Autowired
private IAlmEarlyDeferralDetailService almEarlyDeferralDetailService;
@Autowired
private IMdMeMaterialbaseService materialbaseService;
@GetMapping
public ResponseEntity<Object> getAll(AlmDeferralQuery query, PageQuery page) {
return new ResponseEntity<>(TableDataInfo.build(almEarlyDeferralService.page(page.build(), query.build())), HttpStatus.OK);
}
@GetMapping("/dtl/{id}")
public ResponseEntity<Object> getDtl(@PathVariable String id) {
List<AlmEarlyDeferralDetail> list = almEarlyDeferralDetailService.list(new LambdaQueryWrapper<AlmEarlyDeferralDetail>().eq(AlmEarlyDeferralDetail::getDeferral_id, id));
JSONArray array = new JSONArray();
for (AlmEarlyDeferralDetail detail : list) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("deferral_id", detail.getDeferral_id());
jsonObject.put("material_id", detail.getMaterial_id());
MdMeMaterialbase materialbase = materialbaseService.getById(detail.getMaterial_id());
jsonObject.put("material_code", materialbase.getMaterial_code());
jsonObject.put("material_name", materialbase.getMaterial_name());
jsonObject.put("material_spec", materialbase.getMaterial_spec());
jsonObject.put("material_model", materialbase.getMaterial_model());
array.add(jsonObject);
}
return new ResponseEntity<>(array, HttpStatus.OK);
}
@PostMapping("/saveDtl")
public ResponseEntity<Object> saveDtl(@Validated @RequestBody JSONObject dto) {
String id = dto.getString("id");
LambdaUpdateWrapper<AlmEarlyDeferralDetail> luw = new LambdaUpdateWrapper<>();
luw.eq(AlmEarlyDeferralDetail::getDetail_id, id);
almEarlyDeferralDetailService.remove(luw);
JSONArray jsonArray = dto.getJSONArray("tableData");
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String material_id = jsonObject.getString("material_id");
AlmEarlyDeferralDetail almEarlyDeferralDetail = new AlmEarlyDeferralDetail();
almEarlyDeferralDetail.setDetail_id(IdUtil.getStringId());
almEarlyDeferralDetail.setDeferral_id(id);
almEarlyDeferralDetail.setMaterial_id(material_id);
almEarlyDeferralDetailService.save(almEarlyDeferralDetail);
}
return new ResponseEntity<>(HttpStatus.CREATED);
}
@DeleteMapping("/delete")
public ResponseEntity<Object> delete(@RequestBody String[] ids) {
if (ids.length > 0) {
almEarlyDeferralService.removeByIds(Arrays.asList(ids));
}
return new ResponseEntity<>(HttpStatus.OK);
}
@PostMapping
public ResponseEntity<Object> create(@Validated @RequestBody JSONObject dto) {
AlmEarlyDeferral almEarlyDeferral = dto.toJavaObject(AlmEarlyDeferral.class);
almEarlyDeferral.setCreate_name(SecurityUtils.getCurrentNickName());
almEarlyDeferral.setId(IdUtil.getStringId());
almEarlyDeferral.setCreate_time(DateUtil.now());
almEarlyDeferralService.save(almEarlyDeferral);
return new ResponseEntity<>(HttpStatus.CREATED);
}
@PostMapping("/update")
public ResponseEntity<Object> update(@Validated @RequestBody JSONObject dto) {
AlmEarlyDeferral almEarlyDeferral = dto.toJavaObject(AlmEarlyDeferral.class);
almEarlyDeferral.setCreate_time(DateUtil.now());
almEarlyDeferralService.updateById(almEarlyDeferral);
return new ResponseEntity<>(HttpStatus.CREATED);
}
}

View File

@@ -0,0 +1,22 @@
package org.nl.wms.early_manage.controller.early_deferral;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 前端控制器
* </p>
*
* @author generator
* @since 2024-05-31
*/
@RestController
@RequestMapping("/api/almEarlyDeferralDetail")
public class AlmEarlyDeferralDetailController {
}

View File

@@ -0,0 +1,17 @@
package org.nl.wms.early_manage.notification;
/**
* @Description TODO
* @Author Gengby
* @Date 2024/5/31
*/
public class EmailNotification extends Notification {
public EmailNotification() {
}
@Override
public void send(String message) {
System.out.println("发送邮件内容:" + message);
}
}

View File

@@ -0,0 +1,11 @@
package org.nl.wms.early_manage.notification;
/**
* @Description TODO
* @Author Gengby
* @Date 2024/5/31
*/
public abstract class Notification {
public abstract void send(String message);
}

View File

@@ -0,0 +1,19 @@
package org.nl.wms.early_manage.notification;
/**
* @Description TODO
* @Author Gengby
* @Date 2024/5/31
*/
public class NotificationFactory {
public static Notification getNotification(String noticeType) {
switch (noticeType) {
case "1":
return new EmailNotification();
case "2":
return new WeChatNotification();
default:
throw new IllegalArgumentException("未知的通知类型: " + noticeType);
}
}
}

View File

@@ -0,0 +1,18 @@
package org.nl.wms.early_manage.notification;
/**
* @Description TODO
* @Author Gengby
* @Date 2024/5/31
*/
public class WeChatNotification extends Notification {
public WeChatNotification() {
}
@Override
public void send(String message) {
System.out.println("发送微信内容:" + message);
}
}

View File

@@ -0,0 +1,16 @@
package org.nl.wms.early_manage.service.early_deferral;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.wms.early_manage.service.early_deferral.dao.AlmEarlyDeferralDetail;
/**
* <p>
* 服务类
* </p>
*
* @author generator
* @since 2024-05-31
*/
public interface IAlmEarlyDeferralDetailService extends IService<AlmEarlyDeferralDetail> {
}

View File

@@ -0,0 +1,17 @@
package org.nl.wms.early_manage.service.early_deferral;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.wms.early_manage.service.early_deferral.dao.AlmEarlyDeferral;
/**
* <p>
* 服务类
* </p>
*
* @author generator
* @since 2024-05-31
*/
public interface IAlmEarlyDeferralService extends IService<AlmEarlyDeferral> {
}

View File

@@ -0,0 +1,44 @@
package org.nl.wms.early_manage.service.early_deferral.dao;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
*
* </p>
*
* @author generator
* @since 2024-05-31
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("alm_early_deferral")
public class AlmEarlyDeferral implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
private String alm_name;
private String stor_code;
private Integer stay_days;
private String notice_type;
private String ext_json;
private Boolean is_used;
private String remark;
private String create_name;
private String create_time;
}

View File

@@ -0,0 +1,29 @@
package org.nl.wms.early_manage.service.early_deferral.dao;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
*
* </p>
*
* @author generator
* @since 2024-05-31
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("alm_early_deferral_detail")
public class AlmEarlyDeferralDetail implements Serializable {
private static final long serialVersionUID = 1L;
private String detail_id;
private String deferral_id;
private String material_id;
}

View File

@@ -0,0 +1,16 @@
package org.nl.wms.early_manage.service.early_deferral.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.wms.early_manage.service.early_deferral.dao.AlmEarlyDeferralDetail;
/**
* <p>
* Mapper 接口
* </p>
*
* @author generator
* @since 2024-05-31
*/
public interface AlmEarlyDeferralDetailMapper extends BaseMapper<AlmEarlyDeferralDetail> {
}

View File

@@ -0,0 +1,16 @@
package org.nl.wms.early_manage.service.early_deferral.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.wms.early_manage.service.early_deferral.dao.AlmEarlyDeferral;
/**
* <p>
* Mapper 接口
* </p>
*
* @author generator
* @since 2024-05-31
*/
public interface AlmEarlyDeferralMapper extends BaseMapper<AlmEarlyDeferral> {
}

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.stor_manage.io.service.out.iostor.dao.mapper.StIvtIostorinvOutMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.early_manage.service.early_deferral.dao.mapper.AlmEarlyDeferralDetailMapper">
</mapper>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.base_manage.vehicle.vehicleMater.service.dao.mapper.MdPbVehicleMaterMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.early_manage.service.early_deferral.dao.mapper.AlmEarlyDeferralMapper">
</mapper>

View File

@@ -0,0 +1,26 @@
package org.nl.wms.early_manage.service.early_deferral.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_deferral.dao.AlmEarlyDeferral;
/*
* @author ZZQ
* @Date 2023/5/4 19:49
*/
@Data
public class AlmDeferralQuery extends BaseQuery<AlmEarlyDeferral> {
private String search;
private String stor_code;
@Override
public void paramMapping() {
super.doP.put("search", QParam.builder().k(new String[]{"alm_name"}).type(QueryTEnum.LK).build());
super.doP.put("stor_code", QParam.builder().k(new String[]{"stor_code"}).type(QueryTEnum.EQ).build());
}
}

View File

@@ -0,0 +1,20 @@
package org.nl.wms.early_manage.service.early_deferral.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.wms.early_manage.service.early_deferral.IAlmEarlyDeferralDetailService;
import org.nl.wms.early_manage.service.early_deferral.dao.AlmEarlyDeferralDetail;
import org.nl.wms.early_manage.service.early_deferral.dao.mapper.AlmEarlyDeferralDetailMapper;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author generator
* @since 2024-05-31
*/
@Service
public class AlmEarlyDeferralDetailServiceImpl extends ServiceImpl<AlmEarlyDeferralDetailMapper, AlmEarlyDeferralDetail> implements IAlmEarlyDeferralDetailService {
}

View File

@@ -0,0 +1,21 @@
package org.nl.wms.early_manage.service.early_deferral.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.wms.early_manage.service.early_deferral.IAlmEarlyDeferralService;
import org.nl.wms.early_manage.service.early_deferral.dao.AlmEarlyDeferral;
import org.nl.wms.early_manage.service.early_deferral.dao.mapper.AlmEarlyDeferralMapper;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author generator
* @since 2024-05-31
*/
@Service
public class AlmEarlyDeferralServiceImpl extends ServiceImpl<AlmEarlyDeferralMapper, AlmEarlyDeferral> implements IAlmEarlyDeferralService {
}

View File

@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.publish.AbstraceListener;
import org.nl.common.utils.IdUtil;
import org.nl.wms.md_manage.vehicleGroup.service.IMdPbVehicleMaterService;
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_inv.IAlmEarlyInvService;
@@ -13,6 +13,7 @@ import org.nl.wms.early_manage.service.early_inv.dao.AlmEarlyInv;
import org.nl.wms.early_manage.service.early_msg.IAlmEarlyMsgService;
import org.nl.wms.early_manage.service.early_msg.dao.AlmEarlyMsg;
import org.nl.wms.early_manage.service.event.EarlyEvent;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

View File

@@ -0,0 +1,74 @@
package org.nl.wms.early_manage.tasks;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.nl.common.utils.IdUtil;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.early_manage.notification.NotificationFactory;
import org.nl.wms.early_manage.service.early_deferral.IAlmEarlyDeferralDetailService;
import org.nl.wms.early_manage.service.early_deferral.IAlmEarlyDeferralService;
import org.nl.wms.early_manage.service.early_deferral.dao.AlmEarlyDeferral;
import org.nl.wms.early_manage.service.early_deferral.dao.AlmEarlyDeferralDetail;
import org.nl.wms.early_manage.service.early_msg.IAlmEarlyMsgService;
import org.nl.wms.early_manage.service.early_msg.dao.AlmEarlyMsg;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Description TODO
* @Author Gengby
* @Date 2024/5/31
*/
@Component
public class AutoDeferralNotice {
@Autowired
private IAlmEarlyDeferralService almEarlyDeferralService;
@Autowired
private IAlmEarlyDeferralDetailService almEarlyDeferralDetailService;
@Autowired
private IMdPbVehicleMaterService mdPbVehicleMaterService;
@Autowired
private IAlmEarlyMsgService almEarlyMsgService;
public void run() {
LambdaQueryWrapper<AlmEarlyDeferral> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(AlmEarlyDeferral::getIs_used, "1");
List<AlmEarlyDeferral> list = almEarlyDeferralService.list(lambdaQueryWrapper);
for (AlmEarlyDeferral almEarlyDeferral : list) {
LambdaQueryWrapper<AlmEarlyDeferralDetail> lqw = new LambdaQueryWrapper<>();
lqw.eq(AlmEarlyDeferralDetail::getDeferral_id, almEarlyDeferral.getId());
List<AlmEarlyDeferralDetail> deferralDetails = almEarlyDeferralDetailService.list(lqw);
List<String> materialIds = deferralDetails.stream()
.map(detail -> detail.getMaterial_id())
.collect(Collectors.toList());
LambdaQueryWrapper<MdPbVehicleMater> mdPbVehicleMaterLambdaQueryWrapper = new LambdaQueryWrapper<>();
mdPbVehicleMaterLambdaQueryWrapper.in(MdPbVehicleMater::getMaterial_id, materialIds);
List<MdPbVehicleMater> mdPbVehicleMaters = mdPbVehicleMaterService.list(mdPbVehicleMaterLambdaQueryWrapper);
List<MdPbVehicleMater> filteredMdPbVehicleMaters = mdPbVehicleMaters.stream()
.filter(mater -> {
long daysBetween = DateUtil.betweenDay(DateUtil.parse(mater.getUpdate_time()), DateUtil.parse(DateUtil.now()), true);
return daysBetween > almEarlyDeferral.getStay_days();
})
.collect(Collectors.toList());
for (MdPbVehicleMater filteredMdPbVehicleMater : filteredMdPbVehicleMaters) {
AlmEarlyMsg almEarlyMsg = new AlmEarlyMsg();
almEarlyMsg.setId(IdUtil.getStringId());
almEarlyMsg.setEarly_type("2");
almEarlyMsg.setStor_code(almEarlyDeferral.getStor_code());
almEarlyMsg.setMaterial_id(filteredMdPbVehicleMater.getMaterial_id());
almEarlyMsg.setCreate_time(DateUtil.now());
almEarlyMsg.setQty(filteredMdPbVehicleMater.getQty().intValue());
almEarlyMsg.setCreate_time(DateUtil.now());
almEarlyMsg.setVehicle_code(filteredMdPbVehicleMater.getVehicle_code());
almEarlyMsg.setPcsn(filteredMdPbVehicleMater.getPcsn());
almEarlyMsgService.save(almEarlyMsg);
NotificationFactory.getNotification(almEarlyDeferral.getNotice_type()).send("");
}
}
}
}

View File

@@ -3,6 +3,9 @@ package org.nl.wms.flow_manage.flow.service.history.dao.mapper;
import org.nl.wms.flow_manage.flow.service.history.dao.ActHiExecution;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
/**
* <p>
* 流程历史处理表 Mapper 接口
@@ -12,5 +15,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @since 2024-04-28
*/
public interface ActHiExecutionMapper extends BaseMapper<ActHiExecution> {
/**
* 根据数据表名获取所需字段名称
*
* @param tableName
* @return
*/
List<Map<String, String>> getTableColumnNames(String tableName);
}

View File

@@ -1,5 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.flow_manage.flow.service.history.dao.mapper.ActHiExecutionMapper">
<select id="getTableColumnNames" resultType="map">
SELECT COLUMN_COMMENT AS activity_name,
COLUMN_COMMENT AS update_time,
COLUMN_COMMENT AS form_id,
COLUMN_COMMENT AS form_type,
COLUMN_COMMENT AS form_data
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = #{tableName}
</select>
</mapper>

View File

@@ -4,19 +4,15 @@ package org.nl.wms.md_manage.group_dick.controller;
import cn.dev33.satoken.annotation.SaIgnore;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.nl.common.TableDataInfo;
import org.nl.common.anno.Log;
import org.nl.common.domain.entity.PageQuery;
import org.nl.common.utils.RedissonUtils;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.base_manage.vehicle.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.md_manage.group_dick.service.IMdGruopDickService;
import org.nl.wms.md_manage.group_dick.service.dao.MdGruopDick;
import org.nl.wms.md_manage.group_dick.service.dto.GroupDickQuery;
import org.nl.wms.md_manage.group_dick.service.dto.MdGruopDtlDto;
import org.nl.wms.pm_manage.form_data.service.IPmFormDataService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -25,10 +21,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* <p>

View File

@@ -1,24 +0,0 @@
package org.nl.wms.md_manage.group_dick.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.entity.PageQuery;
import org.nl.wms.md_manage.group_dick.service.dao.MdGruopDick;
import org.nl.wms.md_manage.group_dick.service.dao.MdGruopDtl;
import org.nl.wms.md_manage.group_dick.service.dto.GroupDickQuery;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* <p>
* 载具物料组盘表 服务类
* </p>
*
* @author generator
* @since 2024-04-24
*/
public interface IMdGruopDtlService extends IService<MdGruopDtl> {
}

View File

@@ -37,11 +37,6 @@ public class MdGruopDick implements Serializable {
*/
private String code;
/**
* 父载具
*/
private String parent_vehicle_code;
/**
* 组盘状态
*/
@@ -84,10 +79,6 @@ public class MdGruopDick implements Serializable {
@TableField(typeHandler = FastjsonTypeHandler.class)
private JSONObject form_data;
/**
* 流程实例id
*/
private String proc_inst_id;
}

View File

@@ -1,74 +0,0 @@
package org.nl.wms.md_manage.group_dick.service.dao;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* <p>
* 载具物料组盘表
* </p>
*
* @author generator
* @since 2024-04-24
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "md_group_dtl")
public class MdGruopDtl implements Serializable {
/**
* 主键
*/
@TableId
private String id;
/**
* 主表id
*/
private String dick_id;
/**
* 载具
*/
private String vehicle_code;
/**
* 仓位
*/
private String struct_code;
/**
/**
* 仓库
*/
private String stor_code;
/**
* 载具
*/
private String remark;
/**
* 组盘状态
*/
private String status;
/**
* 源单
*/
private String source_form_type;
/**
* 源单id
*/
private String source_form_id;
/**
* 修改时间
*/
private String update_time;
/**
* 修改人
*/
private String update_name;
}

View File

@@ -1,21 +0,0 @@
package org.nl.wms.md_manage.group_dick.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.nl.wms.md_manage.group_dick.service.dao.MdGruopDick;
import org.nl.wms.md_manage.group_dick.service.dao.MdGruopDtl;
import org.nl.wms.md_manage.group_dick.service.dto.GroupDickQuery;
import java.util.List;
/**
* <p>
* 载具物料组盘表 Mapper 接口
* </p>
*
* @author generator
* @since 2024-04-24
*/
public interface MdGruopDtlMapper extends BaseMapper<MdGruopDtl> {
}

View File

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.md_manage.group_dick.service.dao.mapper.MdGroupMstMapper">
</mapper>

View File

@@ -1,13 +1,7 @@
package org.nl.wms.md_manage.group_dick.service.dto;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nl.wms.base_manage.vehicle.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.md_manage.group_dick.service.dao.MdGruopDtl;
import java.io.Serializable;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
/**
* <p>

View File

@@ -1,7 +1,6 @@
package org.nl.wms.md_manage.group_dick.service.dto;
import lombok.Data;
import org.nl.wms.base_manage.vehicle.vehicleMater.service.dao.MdPbVehicleMater;
/**
* <p>

View File

@@ -9,15 +9,13 @@ import org.apache.commons.lang3.StringUtils;
import org.nl.common.TableDataInfo;
import org.nl.common.domain.entity.PageQuery;
import org.nl.common.enums.StatusEnum;
import org.nl.common.publish.BussEventMulticaster;
import org.nl.common.utils.CodeUtil;
import org.nl.common.utils.IdUtil;
import org.nl.common.utils.MapOf;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.base_manage.vehicle.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.base_manage.vehicle.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.flow_manage.monitor.event.FlowStartEvent;
import org.nl.wms.md_manage.group_dick.service.IMdGruopDtlService;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.md_manage.group_dick.service.dao.MdGruopDick;
import org.nl.wms.md_manage.group_dick.service.dao.MdGruopDtl;
import org.nl.wms.md_manage.group_dick.service.dao.mapper.MdGruopDickMapper;
@@ -26,7 +24,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.wms.md_manage.group_dick.service.dto.GroupDickQuery;
import org.nl.wms.md_manage.group_dick.service.dto.MdGruopDtlVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -50,11 +47,7 @@ import java.util.function.Consumer;
@Service
public class MdGruopDickServiceImpl extends ServiceImpl<MdGruopDickMapper, MdGruopDick> implements IMdGruopDickService {
@Autowired
@Lazy
private IMdGruopDickService self;
@Autowired
private IMdGruopDtlService iMdGruopDtlService;
@Autowired
private IMdPbVehicleMaterService iMdPbVehicleMaterService;
@@ -104,15 +97,7 @@ public class MdGruopDickServiceImpl extends ServiceImpl<MdGruopDickMapper, MdGru
}
}
this.save(mdGroupMst);
iMdGruopDtlService.saveBatch(items);
iMdPbVehicleMaterService.saveBatch(vehicleMaters);
BussEventMulticaster.Publish(new FlowStartEvent("md_group", (Consumer<String>) proc_inst_id -> {
self.update(new UpdateWrapper<MdGruopDick>()
.set("proc_inst_id",proc_inst_id).eq("id",mdGroupMst.getId())); })
.build("md_group_dick",mdGroupMst.getId(),mdGroupMst.getSource_form_type(),mdGroupMst.getSource_form_id(),forms)
.build("md_group_dtl",dtlJson)
,false);
}
@Override

View File

@@ -1,21 +0,0 @@
package org.nl.wms.md_manage.group_dick.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.wms.md_manage.group_dick.service.IMdGruopDtlService;
import org.nl.wms.md_manage.group_dick.service.dao.MdGruopDtl;
import org.nl.wms.md_manage.group_dick.service.dao.mapper.MdGruopDtlMapper;
import org.springframework.stereotype.Service;
/**
* <p>
* 载具物料组盘表 服务实现类
* </p>
*
* @author generator
* @since 2024-04-24
*/
@Service
public class MdGruopDtlServiceImpl extends ServiceImpl<MdGruopDtlMapper, MdGruopDtl> implements IMdGruopDtlService {
}

View File

@@ -1,4 +1,4 @@
package org.nl.wms.base_manage.vehicle.vehicleMater.controller;
package org.nl.wms.md_manage.vehicleMater.controller;
import cn.dev33.satoken.annotation.SaIgnore;
@@ -7,9 +7,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.nl.common.TableDataInfo;
import org.nl.common.anno.Log;
import org.nl.common.domain.entity.PageQuery;
import org.nl.wms.base_manage.vehicle.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.base_manage.vehicle.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.base_manage.vehicle.vehicleMater.service.dto.VehicleMaterQuery;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.md_manage.vehicleMater.service.dto.VehicleMaterQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;

View File

@@ -1,7 +1,8 @@
package org.nl.wms.base_manage.vehicle.vehicleMater.service;
package org.nl.wms.md_manage.vehicleMater.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.wms.base_manage.vehicle.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.md_manage.vehicleMater.service.dto.MdPbVehicleMaterVo;
import java.util.List;
import java.util.Map;
@@ -17,5 +18,9 @@ import java.util.Map;
public interface IMdPbVehicleMaterService extends IService<MdPbVehicleMater> {
Integer getQtySumByMaterial(String material_id);
MdPbVehicleMater getGroupMst(String vehicle_code);
List<MdPbVehicleMaterVo> getVehicleMaters(String vehicle_code);
}

View File

@@ -1,4 +1,4 @@
package org.nl.wms.base_manage.vehicle.vehicleMater.service.dao;
package org.nl.wms.md_manage.vehicleMater.service.dao;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
@@ -37,11 +37,6 @@ public class MdPbVehicleMater implements Serializable {
*/
private String material_id;
/**
* 工序id
*/
private String workprocedure_id;
/**
* 批次
*/
@@ -90,15 +85,23 @@ public class MdPbVehicleMater implements Serializable {
* 修改时间
*/
private String update_time;
/**
* 修改时间
*/
private String update_name;
/**
* 修改时间
*/
private String create_time;
/**
* 修改时间
*/
private String create_name;
/**
* 备注
*/
private String remark;
/**
* 关联实例id
*/
private String proc_inst_id;
}

View File

@@ -1,8 +1,11 @@
package org.nl.wms.base_manage.vehicle.vehicleMater.service.dao.mapper;
package org.nl.wms.md_manage.vehicleMater.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Select;
import org.nl.wms.base_manage.vehicle.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.md_manage.vehicleMater.service.dto.MdPbVehicleMaterVo;
import java.util.List;
/**
* <p>
@@ -16,4 +19,6 @@ public interface MdPbVehicleMaterMapper extends BaseMapper<MdPbVehicleMater> {
@Select("SELECT SUM(qty) FROM md_pb_vehicleMater WHERE material_id = #{materialId}")
Integer getQtySumByMaterial(String material_id);
List<MdPbVehicleMaterVo> getVehicleMaters(String vehicle_code);
}

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.md_manage.vehicleMater.service.dao.mapper.MdPbVehicleMaterMapper">
<resultMap id="VoResultMap" type="org.nl.wms.md_manage.vehicleMater.service.dto.MdPbVehicleMaterVo">
<result property="id" column="id"/>
<result property="parent_vehicle_code" column="parent_vehicle_code"/>
<result property="vehicle_code" column="vehicle_code"/>
<result property="remark" column="remark"/>
<result property="source_form_type" column="source_form_type"/>
<result property="source_form_id" column="source_form_id"/>
<result property="update_name" column="update_name"/>
<result property="update_time" column="update_time"/>
<result property="create_time" column="create_time"/>
<result property="material_code" column="material_code"/>
<result property="material_name" column="material_name"/>
<result property="material_spec" column="material_spec"/>
<result property="form_data" column="form_data" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
</resultMap>
<select id="getVehicleMaters"
resultMap="VoResultMap">
select md_pb_vehicleMater.*,material_code,material_name,material_spec
from md_pb_vehicleMater left join md_me_materialbase
on md_pb_vehicleMater.material_id = md_me_materialbase.material_id
where vehicle_code = #{vehicle_code}
</select>
</mapper>

View File

@@ -0,0 +1,27 @@
package org.nl.wms.md_manage.vehicleMater.service.dto;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import lombok.Data;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
import java.math.BigDecimal;
/**
* <p>
* 载具物料信息表
* </p>
*
* @author generator
* @since 2024-04-08
*/
@Data
public class MdPbVehicleMaterVo extends MdPbVehicleMater {
private String material_code;
private String material_name;
private String material_spec;
}

View File

@@ -1,11 +1,11 @@
package org.nl.wms.base_manage.vehicle.vehicleMater.service.dto;
package org.nl.wms.md_manage.vehicleMater.service.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.base_manage.vehicle.vehicleInfo.service.dao.BmVehicleInfo;
import org.nl.wms.base_manage.vehicle.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
/*
* @author ZZQ

View File

@@ -0,0 +1,41 @@
package org.nl.wms.md_manage.vehicleMater.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.md_manage.vehicleMater.service.dao.mapper.MdPbVehicleMaterMapper;
import org.nl.wms.md_manage.vehicleMater.service.dto.MdPbVehicleMaterVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 载具物料信息表 服务实现类
* </p>
*
* @author generator
* @since 2024-04-08
*/
@Service
public class MdPbVehicleMaterServiceImpl extends ServiceImpl<MdPbVehicleMaterMapper, MdPbVehicleMater> implements IMdPbVehicleMaterService {
@Override
public Integer getQtySumByMaterial(String material_id) {
return this.baseMapper.getQtySumByMaterial(material_id);
}
@Override
public MdPbVehicleMater getGroupMst(String vehicle_code) {
return this.getOne(new QueryWrapper<MdPbVehicleMater>().eq("vehicle_code",vehicle_code));
}
@Override
public List<MdPbVehicleMaterVo> getVehicleMaters(String vehicle_code) {
return this.baseMapper.getVehicleMaters(vehicle_code);
}
}

View File

@@ -1,7 +1,10 @@
package org.nl.wms.pm_manage.form_data.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.Page;
import org.nl.common.domain.entity.PageQuery;
import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc;
import org.nl.wms.pm_manage.form_data.service.dao.PmFormData;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.wms.pm_manage.form_data.service.dto.FormDataQuery;
@@ -22,7 +25,7 @@ public interface IPmFormDataService extends IService<PmFormData> {
Integer syncFormData(String type,String dataString);
List<PmFormData> syncAnalyse(SyncFormMapping mapping, String dataString);
JSONObject mappingParse(JSONArray mappingJson, BmFormStruc one, JSONObject sourceData);
List<PmFormData> getByType(String from_type);
@@ -30,6 +33,7 @@ public interface IPmFormDataService extends IService<PmFormData> {
List<PmFormDataDto> queryTree(FormDataQuery query, PageQuery page);
List<PmFormData> syncAnalyse(SyncFormMapping formMapping, String sourceString);
Object getSonDtlFormData(String id);

View File

@@ -1,6 +1,7 @@
package org.nl.wms.pm_manage.form_data.service.impl;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -71,7 +72,6 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
this.saveBatch(pmFormDatas);
return pmFormDatas.size();
}
@Override
public List<PmFormData> syncAnalyse(SyncFormMapping formMapping, String sourceString) {
BmFormStruc one = formStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("form_type", formMapping.getForm_type()));
@@ -151,9 +151,8 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
return this.list(lqw);
}
private JSONObject mappingParse(JSONArray mapping_json, BmFormStruc formStruc, JSONObject sourceData) {
@Override
public JSONObject mappingParse(JSONArray mapping_json, BmFormStruc formStruc, JSONObject sourceData) {
if (CollectionUtils.isEmpty(sourceData)) {
throw new BadRequestException("当前业务数据为空");
}
@@ -185,7 +184,7 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
return data;
}
private JSONObject fieldMapping(Set<String> fields, Map<String, JSONObject> fieldMapping, JSONObject sourceData) {
public JSONObject fieldMapping(Set<String> fields, Map<String, JSONObject> fieldMapping, JSONObject sourceData) {
Map<String, String> SpelMap = new HashMap<>();
JSONObject data = new JSONObject();
for (String field : fields) {
@@ -210,7 +209,6 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
}
return data;
}
@Override
public List<PmFormData> getByType(String from_type) {
Assert.notNull(from_type,"表单类型参数不能为空");

View File

@@ -1,59 +0,0 @@
package org.nl.wms.stor_manage.io.controller.in;
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.wms.dispatch_manage.task.service.ISchBaseTaskService;
import org.nl.wms.stor_manage.io.service.dto.StorInvQuery;
import org.nl.wms.stor_manage.io.service.in.iostor.IStIvtIostorinvInService;
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.IStIvtIostorinvdtlService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* <p>
* 出入库单主表 前端控制器
* </p>
*
* @author generator
* @since 2024-03-28
*/
@RestController
@RequestMapping("api/stIvtIostorinvIn")
public class StIvtIostorinvInController {
@Autowired
IStIvtIostorinvInService iStIvtIostorinvInService;
@Autowired
IStIvtIostorinvdtlService iStIvtIostorinvDtlInService;
@Autowired
ISchBaseTaskService schBaseTaskService;
@GetMapping
public ResponseEntity<Object> getAll(StorInvQuery query, PageQuery page) {
Page<StIvtIostorinvIn> result = iStIvtIostorinvInService.page(page.build(), query.build());
return new ResponseEntity<>(TableDataInfo.build(result), HttpStatus.OK);
}
@PostMapping
public ResponseEntity<Object> save(@RequestBody JSONObject form) {
iStIvtIostorinvInService.save(form);
return new ResponseEntity<>(HttpStatus.OK);
}
@PostMapping("getIosInvDtl")
public ResponseEntity<Object> getDtl(@RequestBody String inv_id) {
List<Map> mapList = iStIvtIostorinvDtlInService.getByInv(inv_id);
return new ResponseEntity<>(mapList,HttpStatus.OK);
}
}

View File

@@ -1,20 +0,0 @@
package org.nl.wms.stor_manage.io.service.dto;
import lombok.Data;
import org.nl.common.domain.entity.BaseQuery;
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
import org.nl.wms.stor_manage.io.service.out.iostor.dao.StIvtIostorinvOut;
/*
* @author ZZQ
* @Date 2023/5/4 19:49
*/
@Data
public class StorInvOutQuery extends BaseQuery<StIvtIostorinvOut>{
private String form_type;
private String code;
private String status;
private String bill_type;
private String product_code;
}

View File

@@ -2,14 +2,14 @@ package org.nl.wms.stor_manage.io.service.dto;
import lombok.Data;
import org.nl.common.domain.entity.BaseQuery;
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
import org.nl.wms.stor_manage.io.service.iostor.dao.StIvtIostorinv;
/*
* @author ZZQ
* @Date 2023/5/4 19:49
*/
@Data
public class StorInvQuery extends BaseQuery<StIvtIostorinvIn>{
public class StorInvQuery extends BaseQuery<StIvtIostorinv>{
private String form_type;
private String code;
private String status;

View File

@@ -1,19 +0,0 @@
package org.nl.wms.stor_manage.io.service.in.iostor;
import com.alibaba.fastjson.JSONObject;
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 出入库单主表 服务类
* </p>
*
* @author generator
* @since 2024-03-28
*/
public interface IStIvtIostorinvInService extends IService<StIvtIostorinvIn> {
void save(JSONObject form);
}

View File

@@ -1,97 +0,0 @@
package org.nl.wms.stor_manage.io.service.in.iostor.dao;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 出入库单主表
* </p>
*
* @author generator
* @since 2024-03-28
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "st_ivt_iostorinv_in",autoResultMap = true)
public class StIvtIostorinvIn implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 出入单标识
*/
private String id;
/**
* 单据编号
*/
private String code;
/**
* 业务类型
*/
private String bill_type;
/**
* 生产区域编码
*/
private String product_area;
/**
* 单据状态
*/
private String status;
/**
* 源单业务日期
*/
private String source_form_date;
/**
* 源单号
*/
private String source_form_id;
/**
* 源单单据类型
*/
private String source_form_type;
/**
* 备注
*/
private String remark;
/**
* 制单人
*/
private String create_name;
/**
* 制单时间
*/
private String create_time;
/**
* 修改人
*/
private String update_name;
/**
* 修改时间
*/
private String update_time;
/**
* 自定义映射数据
*/
@TableField(typeHandler = FastjsonTypeHandler.class)
private JSONObject form_data;
}

View File

@@ -1,16 +0,0 @@
package org.nl.wms.stor_manage.io.service.in.iostor.dao.mapper;
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 出入库单主表 Mapper 接口
* </p>
*
* @author generator
* @since 2024-03-28
*/
public interface StIvtIostorinvMapper extends BaseMapper<StIvtIostorinvIn> {
}

View File

@@ -1,61 +0,0 @@
package org.nl.wms.stor_manage.io.service.in.iostor.impl;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import org.nl.common.enums.StatusEnum;
import org.nl.common.utils.CodeUtil;
import org.nl.common.utils.IdUtil;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.stor_manage.io.service.in.iostor.IStIvtIostorinvInService;
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
import org.nl.wms.stor_manage.io.service.in.iostor.dao.mapper.StIvtIostorinvMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.IStIvtIostorinvdtlService;
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
/**
* <p>
* 出入库单主表 服务实现类
* </p>
*
* @author generator
* @since 2024-03-28
*/
@Service
public class StIvtIostorinvInServiceImpl extends ServiceImpl<StIvtIostorinvMapper, StIvtIostorinvIn> implements IStIvtIostorinvInService {
@Autowired
private IStIvtIostorinvdtlService iStIvtIostorinvdtlInService;
@Override
@Transactional
public void save(JSONObject form) {
if (form==null){
return;
}
List<Map> dtls = (List<Map>) form.remove("tableData");
StIvtIostorinvIn mst = form.toJavaObject(StIvtIostorinvIn.class);
mst.setId(IdUtil.getStringId());
mst.setCreate_name(SecurityUtils.getCurrentNickName());
mst.setCreate_time(DateUtil.now());
mst.setCode(CodeUtil.getNewCode("IO_CODE"));
mst.setStatus(StatusEnum.FORM_STATUS.code("生成"));
if (dtls!=null && dtls.size()>0){
for (int i = 0; i < dtls.size(); i++) {
StIvtIostorinvdtl dtl = new JSONObject(dtls.get(i)).toJavaObject(StIvtIostorinvdtl.class);
dtl.setId(IdUtil.getStringId());
dtl.setInv_id(mst.getId());
dtl.setStatus(StatusEnum.FORM_STATUS.code("生成"));
iStIvtIostorinvdtlInService.save(dtl);
}
}
this.save(mst);
}
}

View File

@@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.mapper.StIvtIostorinvdtlMapper">
<insert id="batchInsert">
insert into st_ivt_iostorinvdtl() values <foreach collection="dtls" open="(" close=")" item="item">
</foreach>
</insert>
<select id="findByInv2" resultType="java.util.Map">
SELECT
sum(md_pb_vehicleMater.qty) as qty,
st_ivt_iostorinvdtl_in.*,
md_me_materialbase.material_code,
md_me_materialbase.material_name,
md_me_materialbase.material_spec
FROM
st_ivt_iostorinvdtl_in
LEFT JOIN md_me_materialbase ON st_ivt_iostorinvdtl_in.material_id = md_me_materialbase.material_id
LEFT JOIN md_pb_vehicleMater ON (st_ivt_iostorinvdtl_in.vehicle_code = md_pb_vehicleMater.vehicle_code
and st_ivt_iostorinvdtl_in.material_id = md_pb_vehicleMater.material_id)
where inv_id = #{inv_id} GROUP BY st_ivt_iostorinvdtl_in.id
</select>
</mapper>

View File

@@ -1,39 +0,0 @@
package org.nl.wms.stor_manage.io.service.in.iostor_dtl.impl;
import org.apache.commons.lang3.StringUtils;
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.IStIvtIostorinvdtlService;
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.mapper.StIvtIostorinvdtlMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* <p>
* 出入库单明细表 服务实现类
* </p>
*
* @author generator
* @since 2024-03-29
*/
@Service
public class StIvtIostorinvdtlServiceImpl extends ServiceImpl<StIvtIostorinvdtlMapper, StIvtIostorinvdtl> implements IStIvtIostorinvdtlService {
@Override
public void batchInsert(List<StIvtIostorinvdtl> dtls) {
this.baseMapper.batchInsert(dtls);
}
@Override
public List<Map> getByInv(String inv_id) {
if (StringUtils.isEmpty(inv_id)){
return new ArrayList<>();
}
return this.baseMapper.findByInv(inv_id);
}
}

View File

@@ -1,9 +1,8 @@
package org.nl.wms.stor_manage.io.service.out.iostor;
package org.nl.wms.stor_manage.io.service.iostor;
import com.alibaba.fastjson.JSONObject;
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.wms.stor_manage.io.service.out.iostor.dao.StIvtIostorinvOut;
import org.nl.wms.stor_manage.io.service.iostor.dao.StIvtIostorinv;
/**
* <p>
@@ -13,7 +12,7 @@ import org.nl.wms.stor_manage.io.service.out.iostor.dao.StIvtIostorinvOut;
* @author generator
* @since 2024-03-28
*/
public interface IStIvtIostorinvOutService extends IService<StIvtIostorinvOut> {
public interface IStIvtIostorinvService extends IService<StIvtIostorinv> {
void save(JSONObject form);

View File

@@ -1,4 +1,4 @@
package org.nl.wms.stor_manage.io.service.out.iostor.dao;
package org.nl.wms.stor_manage.io.service.iostor.dao;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
@@ -19,8 +19,8 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "st_ivt_iostorinv_out", autoResultMap = true)
public class StIvtIostorinvOut implements Serializable {
@TableName(value = "st_ivt_iostorinv", autoResultMap = true)
public class StIvtIostorinv implements Serializable {
private static final long serialVersionUID = 1L;
@@ -97,5 +97,10 @@ public class StIvtIostorinvOut implements Serializable {
@TableField(typeHandler = FastjsonTypeHandler.class)
private JSONObject form_data;
/**
* 是否为入库单
*/
private Boolean in_storage;
}

View File

@@ -1,8 +1,8 @@
package org.nl.wms.stor_manage.io.service.out.iostor.dao.mapper;
package org.nl.wms.stor_manage.io.service.iostor.dao.mapper;
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.wms.stor_manage.io.service.out.iostor.dao.StIvtIostorinvOut;
import org.nl.wms.stor_manage.io.service.iostor.dao.StIvtIostorinv;
/**
* <p>
@@ -12,6 +12,6 @@ import org.nl.wms.stor_manage.io.service.out.iostor.dao.StIvtIostorinvOut;
* @author generator
* @since 2024-03-28
*/
public interface StIvtIostorinvOutMapper extends BaseMapper<StIvtIostorinvOut> {
public interface StIvtIostorinvOutMapper extends BaseMapper<StIvtIostorinv> {
}

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.stor_manage.io.service.in.iostor.dao.mapper.StIvtIostorinvMapper">
<mapper namespace="org.nl.wms.stor_manage.io.service.iostor.dao.mapper.StIvtIostorinvOutMapper">
</mapper>

View File

@@ -1,4 +1,4 @@
package org.nl.wms.stor_manage.io.service.out.iostor.impl;
package org.nl.wms.stor_manage.io.service.iostor.impl;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
@@ -14,11 +14,11 @@ import org.nl.common.utils.MapOf;
import org.nl.common.utils.SecurityUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.wms.flow_manage.monitor.event.FlowStartEvent;
import org.nl.wms.stor_manage.io.service.out.iostor.IStIvtIostorinvOutService;
import org.nl.wms.stor_manage.io.service.out.iostor.dao.StIvtIostorinvOut;
import org.nl.wms.stor_manage.io.service.out.iostor.dao.mapper.StIvtIostorinvOutMapper;
import org.nl.wms.stor_manage.io.service.out.iostor_dtl.IStIvtIostorinvdtlOutService;
import org.nl.wms.stor_manage.io.service.out.iostor_dtl.dao.StIvtIostorinvdtlOut;
import org.nl.wms.stor_manage.io.service.iostor.IStIvtIostorinvService;
import org.nl.wms.stor_manage.io.service.iostor.dao.StIvtIostorinv;
import org.nl.wms.stor_manage.io.service.iostor.dao.mapper.StIvtIostorinvOutMapper;
import org.nl.wms.stor_manage.io.service.iostor_dtl.IStIvtIostorinvdtlService;
import org.nl.wms.stor_manage.io.service.iostor_dtl.dao.StIvtIostorinvdtl;
import org.nl.wms.stor_manage.struct.service.IStIvtStructattrService;
import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr;
import org.springframework.beans.factory.annotation.Autowired;
@@ -30,7 +30,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Collectors;
/**
@@ -42,10 +41,10 @@ import java.util.stream.Collectors;
* @since 2024-03-28
*/
@Service
public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutMapper, StIvtIostorinvOut> implements IStIvtIostorinvOutService {
public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvOutMapper, StIvtIostorinv> implements IStIvtIostorinvService {
@Autowired
private IStIvtIostorinvdtlOutService iStIvtIostorinvDtlOutService;
private IStIvtIostorinvdtlService iStIvtIostorinvDtlOutService;
@Autowired
private IStIvtStructattrService iStIvtStructattrService;
@@ -56,7 +55,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
return;
}
List<Map> dtls = (List<Map>) form.remove("item");
StIvtIostorinvOut mst = form.toJavaObject(StIvtIostorinvOut.class);
StIvtIostorinv mst = form.toJavaObject(StIvtIostorinv.class);
mst.setId(IdUtil.getStringId());
mst.setCreate_name(SecurityUtils.getCurrentNickName());
mst.setCreate_time(DateUtil.now());
@@ -64,7 +63,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
mst.setStatus(StatusEnum.FORM_STATUS.code("生成"));
if (dtls!=null && dtls.size()>0){
for (int i = 0; i < dtls.size(); i++) {
StIvtIostorinvdtlOut dtl = new JSONObject(dtls.get(i)).toJavaObject(StIvtIostorinvdtlOut.class);
StIvtIostorinvdtl dtl = new JSONObject(dtls.get(i)).toJavaObject(StIvtIostorinvdtl.class);
dtl.setId(IdUtil.getStringId());
dtl.setInv_id(mst.getId());
dtl.setStatus(StatusEnum.FORM_STATUS.code("生成"));
@@ -82,13 +81,13 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
if (CollectionUtils.isEmpty(desicion)){
throw new BadRequestException("分配失败,当前出库分配无可用货位");
}
iStIvtIostorinvDtlOutService.update(new UpdateWrapper<StIvtIostorinvdtlOut>()
iStIvtIostorinvDtlOutService.update(new UpdateWrapper<StIvtIostorinvdtl>()
.set("vehicle_code",desicion.stream().map(StIvtStructattr::getVehicle_code).collect(Collectors.joining(",")))
.eq("id",form.getString("id")));
int count = iStIvtIostorinvDtlOutService.count(new QueryWrapper<StIvtIostorinvdtlOut>()
int count = iStIvtIostorinvDtlOutService.count(new QueryWrapper<StIvtIostorinvdtl>()
.eq("inv_id", form.getString("inv_id")).isNull("vehicle_code"));
if (count == 0){
this.update(new UpdateWrapper<StIvtIostorinvOut>()
this.update(new UpdateWrapper<StIvtIostorinv>()
.set("status",StatusEnum.FORM_STATUS.code("已分配"))
.eq("id",form.getString("inv_id")));
}
@@ -105,11 +104,11 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
iStIvtStructattrService.update(new UpdateWrapper<StIvtStructattr>()
.set("lock_type", StatusEnum.LOCK.code(""))
.in("vehicle_code", Arrays.asList(split)));
iStIvtIostorinvDtlOutService.update(new UpdateWrapper<StIvtIostorinvdtlOut>()
iStIvtIostorinvDtlOutService.update(new UpdateWrapper<StIvtIostorinvdtl>()
.set("vehicle_code",null)
.eq("id",form.getString("id")));
this.update(new UpdateWrapper<StIvtIostorinvOut>()
this.update(new UpdateWrapper<StIvtIostorinv>()
.set("status",StatusEnum.FORM_STATUS.code("生成"))
.eq("id",form.getString("inv_id")));
}
@@ -120,12 +119,12 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
@Override
public void taskOpen(JSONObject form) {
StIvtIostorinvOut iostorinv = form.toJavaObject(StIvtIostorinvOut.class);
StIvtIostorinv iostorinv = form.toJavaObject(StIvtIostorinv.class);
//查询明细
List<StIvtIostorinvdtlOut> dtls = iStIvtIostorinvDtlOutService.list(new QueryWrapper<StIvtIostorinvdtlOut>().eq("inv_id", iostorinv.getId()));
List<StIvtIostorinvdtl> dtls = iStIvtIostorinvDtlOutService.list(new QueryWrapper<StIvtIostorinvdtl>().eq("inv_id", iostorinv.getId()));
List<Map> dtlJson = new ArrayList<>();
if (!CollectionUtils.isEmpty(dtls)){
for (StIvtIostorinvdtlOut dtl : dtls) {
for (StIvtIostorinvdtl dtl : dtls) {
dtlJson.add(MapOf.of("form_id",dtl.getId()
,"t",JSONObject.toJSON(dtl)
,"source_form_type",dtl.getSource_form_type()
@@ -137,7 +136,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
.build("st_ivt_iostorinvdtl_out",dtlJson)
,true);
this.update(new UpdateWrapper<StIvtIostorinvOut>()
this.update(new UpdateWrapper<StIvtIostorinv>()
.set("status",StatusEnum.FORM_STATUS.code("执行中"))
.set("update_time",DateUtil.now())
.set("update_name",SecurityUtils.getCurrentNickName())

View File

@@ -1,7 +1,7 @@
package org.nl.wms.stor_manage.io.service.in.iostor_dtl;
package org.nl.wms.stor_manage.io.service.iostor_dtl;
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.wms.stor_manage.io.service.iostor_dtl.dao.StIvtIostorinvdtl;
import java.util.List;
import java.util.Map;
@@ -18,5 +18,7 @@ public interface IStIvtIostorinvdtlService extends IService<StIvtIostorinvdtl> {
void batchInsert(List<StIvtIostorinvdtl> dtls);
List<Map> getByInv(String inv_id);
}

View File

@@ -1,4 +1,4 @@
package org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao;
package org.nl.wms.stor_manage.io.service.iostor_dtl.dao;
import java.math.BigDecimal;
@@ -21,9 +21,8 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "st_ivt_iostorinvdtl_in",autoResultMap = true)
@TableName(value = "st_ivt_iostorinvdtl", autoResultMap = true)
public class StIvtIostorinvdtl implements Serializable {
private static final long serialVersionUID = 1L;
/**
@@ -36,11 +35,6 @@ public class StIvtIostorinvdtl implements Serializable {
*/
private String inv_id;
/**
* 出入单标识
*/
private Boolean in_storage = Boolean.TRUE;
/**
* 源单号
*/
@@ -76,16 +70,6 @@ public class StIvtIostorinvdtl implements Serializable {
*/
private BigDecimal qty;
/**
* 未分配数量(计划数量-载具物料数量)
*/
private BigDecimal unassign_qty;
/**
* 分配数量
*/
private BigDecimal assign_qty;
/**
* 分配的载具
*/

View File

@@ -1,11 +1,11 @@
package org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.mapper;
package org.nl.wms.stor_manage.io.service.iostor_dtl.dao.mapper;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.wms.stor_manage.io.service.iostor_dtl.dao.StIvtIostorinvdtl;
import java.util.List;
import java.util.Map;
@@ -24,18 +24,18 @@ public interface StIvtIostorinvdtlMapper extends BaseMapper<StIvtIostorinvdtl> {
@Select("SELECT\n" +
" sum(md_pb_vehicleMater.qty) as qty,\n" +
" st_ivt_iostorinvdtl_in.*,\n" +
" st_ivt_iostorinvdtl.*,\n" +
" md_me_materialbase.material_code,\n" +
" md_me_materialbase.material_name,\n" +
" md_me_materialbase.material_spec\n" +
" FROM\n" +
" st_ivt_iostorinvdtl_in\n" +
" LEFT JOIN md_me_materialbase ON st_ivt_iostorinvdtl_in.material_id = md_me_materialbase.material_id\n" +
" LEFT JOIN md_pb_vehicleMater ON (st_ivt_iostorinvdtl_in.vehicle_code = md_pb_vehicleMater.vehicle_code\n" +
" and st_ivt_iostorinvdtl_in.material_id = md_pb_vehicleMater.material_id)\n" +
" where inv_id = #{inv_id} GROUP BY st_ivt_iostorinvdtl_in.id")
" st_ivt_iostorinvdtl\n" +
" LEFT JOIN md_me_materialbase ON st_ivt_iostorinvdtl.material_id = md_me_materialbase.material_id\n" +
" LEFT JOIN md_pb_vehicleMater ON (st_ivt_iostorinvdtl.vehicle_code = md_pb_vehicleMater.vehicle_code\n" +
" and st_ivt_iostorinvdtl.material_id = md_pb_vehicleMater.material_id)\n" +
" where inv_id = #{inv_id} GROUP BY st_ivt_iostorinvdtl.id")
@Results({@Result(property = "form_data",column = "form_data",typeHandler = FastjsonTypeHandler.class)})
List<Map> findByInv(String inv_id);
List<Map> findByInv2(String inv_id);
}

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.stor_manage.io.service.iostor_dtl.dao.mapper.StIvtIostorinvdtlMapper">
<insert id="batchInsert">
insert into st_ivt_iostorinvdtl() values <foreach collection="dtls" open="(" close=")" item="item">
</foreach>
</insert>
</mapper>

View File

@@ -1,11 +1,11 @@
package org.nl.wms.stor_manage.io.service.out.iostor_dtl.impl;
package org.nl.wms.stor_manage.io.service.iostor_dtl.impl;
import org.apache.commons.lang3.StringUtils;
import org.nl.common.utils.MapOf;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.wms.stor_manage.io.service.out.iostor_dtl.IStIvtIostorinvdtlOutService;
import org.nl.wms.stor_manage.io.service.out.iostor_dtl.dao.StIvtIostorinvdtlOut;
import org.nl.wms.stor_manage.io.service.out.iostor_dtl.dao.mapper.StIvtIostorinvdtlOutMapper;
import org.nl.wms.stor_manage.io.service.iostor_dtl.IStIvtIostorinvdtlService;
import org.nl.wms.stor_manage.io.service.iostor_dtl.dao.StIvtIostorinvdtl;
import org.nl.wms.stor_manage.io.service.iostor_dtl.dao.mapper.StIvtIostorinvdtlMapper;
import org.nl.wms.stor_manage.struct.service.IStIvtStructattrService;
import org.nl.wms.stor_manage.struct.service.dto.StructattrVechielDto;
import org.springframework.beans.factory.annotation.Autowired;
@@ -26,13 +26,13 @@ import java.util.stream.Collectors;
* @since 2024-03-29
*/
@Service
public class StIvtIostorinvdtlOutServiceImpl extends ServiceImpl<StIvtIostorinvdtlOutMapper, StIvtIostorinvdtlOut> implements IStIvtIostorinvdtlOutService {
public class StIvtIostorinvdtlServiceImpl extends ServiceImpl<StIvtIostorinvdtlMapper, StIvtIostorinvdtl> implements IStIvtIostorinvdtlService {
@Autowired
private IStIvtStructattrService iStIvtStructattrService;
@Override
public void batchInsert(List<StIvtIostorinvdtlOut> dtls) {
public void batchInsert(List<StIvtIostorinvdtl> dtls) {
this.baseMapper.batchInsert(dtls);
}

View File

@@ -1,26 +0,0 @@
package org.nl.wms.stor_manage.io.service.out.iostor_dtl;
import com.alibaba.fastjson.JSONObject;
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.wms.stor_manage.io.service.out.iostor_dtl.dao.StIvtIostorinvdtlOut;
import java.util.List;
import java.util.Map;
/**
* <p>
* 出入库单明细表 服务类
* </p>
*
* @author generator
* @since 2024-03-29
*/
public interface IStIvtIostorinvdtlOutService extends IService<StIvtIostorinvdtlOut> {
void batchInsert(List<StIvtIostorinvdtlOut> dtls);
List<Map> getByInv(String inv_id);
}

View File

@@ -1,114 +0,0 @@
package org.nl.wms.stor_manage.io.service.out.iostor_dtl.dao;
import java.math.BigDecimal;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 出入库单明细表
* </p>
*
* @author generator
* @since 2024-03-29
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "st_ivt_iostorinvdtl_out", autoResultMap = true)
public class StIvtIostorinvdtlOut implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 出入单明细标识
*/
private String id;
/**
* 出入单标识
*/
private String inv_id;
/**
* 源单号
*/
private String source_form_id;
/**
* 源单单据类型
*/
private String source_form_type;
/**
* 单据明细状态
*/
private String status;
/**
* 物料标识
*/
private String material_id;
/**
* 批次
*/
private String pcsn;
/**
* 数量计量单位标识
*/
private String unit_id;
/**
* 计划数量
*/
private BigDecimal plan_qty;
/**
* 未分配数量(计划数量-载具物料数量)
*/
private BigDecimal unassign_qty;
/**
* 分配数量
*/
private BigDecimal assign_qty;
/**
* 分配的载具
*/
private String vehicle_code;
/**
* 仓库
*/
private String stor_code;
/**
* 仓位编码
*/
private String struct_code;
/**
* 备注
*/
private String remark;
/**
* 操作时间
*/
private String update_time;
@TableField(typeHandler = FastjsonTypeHandler.class)
private JSONObject form_data;
private Boolean in_storage = Boolean.FALSE;
}

View File

@@ -1,42 +0,0 @@
package org.nl.wms.stor_manage.io.service.out.iostor_dtl.dao.mapper;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.wms.stor_manage.io.service.out.iostor_dtl.dao.StIvtIostorinvdtlOut;
import java.util.List;
import java.util.Map;
/**
* <p>
* 出入库单明细表 Mapper 接口
* </p>
*
* @author generator
* @since 2024-03-29
*/
public interface StIvtIostorinvdtlOutMapper extends BaseMapper<StIvtIostorinvdtlOut> {
Integer batchInsert(List<StIvtIostorinvdtlOut> dtls);
@Select("SELECT\n" +
" sum(md_pb_vehicleMater.qty) as qty,\n" +
" st_ivt_iostorinvdtl_out.*,\n" +
" md_me_materialbase.material_code,\n" +
" md_me_materialbase.material_name,\n" +
" md_me_materialbase.material_spec\n" +
" FROM\n" +
" st_ivt_iostorinvdtl_out\n" +
" LEFT JOIN md_me_materialbase ON st_ivt_iostorinvdtl_out.material_id = md_me_materialbase.material_id\n" +
" LEFT JOIN md_pb_vehicleMater ON (st_ivt_iostorinvdtl_out.vehicle_code = md_pb_vehicleMater.vehicle_code\n" +
" and st_ivt_iostorinvdtl_out.material_id = md_pb_vehicleMater.material_id)\n" +
" where inv_id = #{inv_id} GROUP BY st_ivt_iostorinvdtl_out.id")
@Results({@Result(property = "form_data",column = "form_data",typeHandler = FastjsonTypeHandler.class)})
List<Map> findByInv(String inv_id);
}

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.stor_manage.io.service.out.iostor_dtl.dao.mapper.StIvtIostorinvdtlOutMapper">
<insert id="batchInsert">
insert into st_ivt_iostorinvdtl_out() values <foreach collection="dtls" open="(" close=")" item="item">
</foreach>
</insert>
</mapper>

View File

@@ -1,25 +1,17 @@
package org.nl.wms.stor_manage.monitor.listener;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.nl.common.domain.exception.BadRequestException;
import org.nl.common.enums.StatusEnum;
import org.nl.common.publish.AbstraceListener;
import org.nl.wms.flow_manage.flow.framework.entity.ExecutionDto;
import org.nl.wms.flow_manage.flow.service.execution.IFlowOperationService;
import org.nl.wms.flow_manage.flow.service.history.IActHiExecutionService;
import org.nl.wms.flow_manage.flow.service.history.dao.ActHiExecution;
import org.nl.wms.flow_manage.monitor.event.FlowEndEvent;
import org.nl.wms.flow_manage.monitor.event.FlowStartEvent;
import org.nl.wms.pm_manage.form_data.service.IPmFormDataService;
import org.nl.wms.stor_manage.io.service.in.iostor.IStIvtIostorinvInService;
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
import org.nl.wms.stor_manage.io.service.out.iostor.IStIvtIostorinvOutService;
import org.nl.wms.stor_manage.io.service.out.iostor.dao.StIvtIostorinvOut;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;

View File

@@ -1,7 +1,6 @@
package org.nl.wms.stor_manage.struct.service.dto;
import lombok.Data;
import org.nl.wms.md_manage.vehicleGroup.service.dao.MdPbVehicleMater;
import java.math.BigDecimal;
@@ -10,7 +9,7 @@ import java.math.BigDecimal;
* @Date 2023/5/4 19:49
*/
@Data
public class StructattrVechielDto extends MdPbVehicleMater {
public class StructattrVechielDto extends org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater {
private static final long serialVersionUID = 1L;
/**

View File

@@ -12,9 +12,11 @@ import org.nl.common.domain.entity.PageQuery;
import org.nl.common.domain.exception.BadRequestException;
import org.nl.common.enums.StatusEnum;
import org.nl.common.utils.IdUtil;
import org.nl.wms.md_manage.vehicleGroup.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleGroup.service.dao.MdPbVehicleMater;
import org.nl.wms.flow_manage.flow.framework.process.nodeType.excess.impl.DecisionHandler;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.stor_manage.record.service.IStIvtStructivtflowService;
import org.nl.wms.stor_manage.record.service.dao.StIvtStructivtflow;
import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr;

View File

@@ -1,6 +1,9 @@
package org.nl.wms.sync_manage.controller.field_mapping;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.nl.common.TableDataInfo;
import org.nl.common.domain.entity.PageQuery;
@@ -73,7 +76,10 @@ public class BmExternalFieldMappingController {
public ResponseEntity<Object> getTableColumnNames(@PathVariable String table_name) {
return new ResponseEntity<>(mappingsService.getTableColumnNames(table_name), HttpStatus.OK);
}
@GetMapping("/getTableColumnNamesdata/{table_name}")
public ResponseEntity<Object> getTableColumnNamesdata(@PathVariable String table_name) {
return new ResponseEntity<>(mappingsService.getTableColumnNamesdata(table_name), HttpStatus.OK);
}
@GetMapping("/getTableColumnNamesFromMapping/{table_name}")
public ResponseEntity<Object> getTableColumnNamesFromMapping(@PathVariable String table_name) {
return new ResponseEntity<>(mappingsService.getTableColumnNamesFromMapping(table_name), HttpStatus.OK);
@@ -88,5 +94,24 @@ public class BmExternalFieldMappingController {
public ResponseEntity<Object> getExistTableName() {
return new ResponseEntity<>(mappingsService.getExistTableName(), HttpStatus.OK);
}
@PostMapping("/syncAnalyse")
public ResponseEntity<Object> syncAnalyse(@RequestBody JSONObject form){
String fromType=form.getString("local_table_name");
JSONArray formMapping = new JSONArray();
try {
JSONObject jsonObject = new JSONObject(form.getJSONObject("mapping_json"));
for (String key : jsonObject.keySet()) {
JSONObject item = new JSONObject();
item.put("key", key);
item.put("value", jsonObject.get(key));
formMapping.add(item);
}
} catch (JSONException e) {
e.printStackTrace();
}
// JSONArray formMapping=form.getJSONArray("mapping_json");
String sourceString=form.getString("analyseData");
return new ResponseEntity<>(mappingsService.toJavaObject(JSONObject.class,fromType,formMapping,sourceString), HttpStatus.OK);
}
}

View File

@@ -1,6 +1,7 @@
package org.nl.wms.sync_manage.service.field_mapping;
import com.alibaba.fastjson.JSONArray;
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;
@@ -26,6 +27,13 @@ public interface IBmExternalFieldMappingService extends IService<BmExternalField
* @return
*/
List<Map<String, String>> getTableColumnNames(String tableName);
/**
* 根据数据表名获取所有字段和注释
*
* @param tableName
* @return
*/
List<Map<String, String>> getTableColumnNamesdata(String tableName);
/**
* 获取数据库中所有表的名称
@@ -56,6 +64,7 @@ public interface IBmExternalFieldMappingService extends IService<BmExternalField
*/
void updateRows(RequestMappingParam param);
<T> List<T> toJavaObject(Class<T> clazz,String fromType, JSONArray formMapping, String sourceString);
/**
* 从映射关系表中获取已配置映射关系的
*
@@ -63,4 +72,5 @@ public interface IBmExternalFieldMappingService extends IService<BmExternalField
* @return
*/
BmExternalFieldMapping getTableColumnNamesFromMapping(String table_name);
}

View File

@@ -3,6 +3,7 @@ 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 org.nl.wms.sync_manage.service.field_mapping.dto.RequestMappingParam;
import java.util.List;
import java.util.Map;
@@ -18,13 +19,26 @@ import java.util.Map;
public interface BmExternalFieldMappingMapper extends BaseMapper<BmExternalFieldMapping> {
/**
* 根据数据表名获取所有字段名称
* 根据数据表名获取所有字段名称和值
*
* @param tableName
* @return
*/
List<Map<String, String>> getTableColumnNames(@Param("tableName") String tableName);
/**
* 根据数据表名获取所有字段和注释
*
* @param tableName
* @return
*/
List<Map<String, String>> getTableColumnNamesdata(String tableName);
/**
* 根据数据表名获取所有字段名称
*
* @param tableName
* @return
*/
List<String> getTablename(@Param("tableName") String tableName);
/**
* 获取数据库中所有表的名称
*
@@ -38,4 +52,5 @@ public interface BmExternalFieldMappingMapper extends BaseMapper<BmExternalField
* @return
*/
List<String> getExistTableName();
}

View File

@@ -10,7 +10,18 @@
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = #{tableName}
</select>
<select id="getTableColumnNamesdata" resultType="map">
SELECT column_name, column_comment
FROM information_schema.columns
WHERE table_name = #{tableName}
</select>
<select id="getTablename" resultType="java.lang.String">
SELECT COLUMN_NAME AS local_field_name,
COLUMN_COMMENT AS lable
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = #{tableName}
</select>
<select id="getAllTableName" resultType="java.lang.String">
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES

View File

@@ -11,4 +11,5 @@ import lombok.Data;
public class MappingDto {
private String local_field_name;
private String external_field_name;
private String skipExpression;
}

View File

@@ -2,14 +2,27 @@ package org.nl.wms.sync_manage.service.field_mapping.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.lang.hash.Hash;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.nl.common.domain.exception.BadRequestException;
import org.nl.common.utils.IdUtil;
import org.nl.common.utils.ListOf;
import org.nl.common.utils.MapOf;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.config_manage.form_struc.service.IBmFormStrucService;
import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc;
import org.nl.wms.flow_manage.flow.framework.engine.cmd.unify.Command;
import org.nl.wms.pm_manage.form_data.service.IPmFormDataService;
import org.nl.wms.pm_manage.form_data.service.impl.PmFormDataServiceImpl;
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.dao.mapper.BmExternalFieldMappingMapper;
@@ -18,10 +31,11 @@ import org.nl.wms.sync_manage.service.field_mapping.dto.RequestMappingParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
import java.util.*;
import java.util.stream.Collectors;
import java.util.List;
/**
* <p>
* 同步字段映射表 服务实现类
@@ -35,11 +49,20 @@ public class BmExternalFieldMappingServiceImpl extends ServiceImpl<BmExternalFie
@Autowired(required = false)
private BmExternalFieldMappingMapper mappingMapper;
@Autowired(required = false)
private PmFormDataServiceImpl pmFormDataService;
@Autowired
private IBmFormStrucService formStrucService;
@Override
public List<Map<String, String>> getTableColumnNames(String tableName) {
return mappingMapper.getTableColumnNames(tableName);
}
@Override
public List<Map<String, String>> getTableColumnNamesdata(String tableName) {
return mappingMapper.getTableColumnNamesdata(tableName);
}
@Override
public List<String> getAllTableName() {
@@ -61,8 +84,18 @@ public class BmExternalFieldMappingServiceImpl extends ServiceImpl<BmExternalFie
BmExternalFieldMapping mapping = param.getBmExternalFieldMapping();
List<MappingDto> dtos = param.getDtos();
Assert.notNull(dtos, "映射关系不能为空!");
Map<String, String> mappingJson = dtos.stream().collect(Collectors.toMap(MappingDto::getExternal_field_name, MappingDto::getLocal_field_name));
mapping.setMapping_json(JSON.toJSONString(mappingJson));
Map<String, Map<String, String>> mapOfMaps = new HashMap<>();
for(MappingDto mappingDto:dtos){
Map<String, String> map1 = new HashMap<>();
map1.put("external_field_name",mappingDto.getExternal_field_name());
if(ObjectUtil.isNotEmpty(mappingDto.getSkipExpression())) {
map1.put("skipExpression",mappingDto.getSkipExpression());
}else{
map1.put("skipExpression","");
}
mapOfMaps.put(mappingDto.getLocal_field_name(),map1);
}
mapping.setMapping_json(JSON.toJSONString(mapOfMaps));
mapping.setId(IdUtil.getStringId());
mapping.setLast_update_id(SecurityUtils.getCurrentUserId());
mapping.setLast_update_name(SecurityUtils.getCurrentNickName());
@@ -78,34 +111,83 @@ public class BmExternalFieldMappingServiceImpl extends ServiceImpl<BmExternalFie
luw.eq(BmExternalFieldMapping::getLocal_table_name, mapping.getLocal_table_name());
List<MappingDto> dtos = param.getDtos();
mappingMapper.delete(luw);
if (ObjectUtil.isNotEmpty(dtos)) {
Map<String, String> mappingJson = dtos.stream().collect(Collectors.toMap(MappingDto::getExternal_field_name, MappingDto::getLocal_field_name));
mapping.setMapping_json(JSON.toJSONString(mappingJson));
Map<String, Map<String, String>> mapOfMaps = new HashMap<>();
for(MappingDto mappingDto:dtos){
Map<String, String> map1 = new HashMap<>();
map1.put("external_field_name",mappingDto.getExternal_field_name());
if(ObjectUtil.isNotEmpty(mappingDto.getSkipExpression())) {
map1.put("skipExpression",mappingDto.getSkipExpression());
}else{
map1.put("skipExpression","");
}
mapOfMaps.put(mappingDto.getLocal_field_name(),map1);
}
mapping.setMapping_json(JSON.toJSONString(mapOfMaps));
mapping.setId(IdUtil.getStringId());
mapping.setLast_update_id(SecurityUtils.getCurrentUserId());
mapping.setLast_update_name(SecurityUtils.getCurrentNickName());
mapping.setLast_update_time(DateUtil.now());
mappingMapper.insert(mapping);
}
@Override
public <T> List<T> toJavaObject(Class<T> clazz, String fromType, JSONArray formMapping, String sourceString) {
BmFormStruc one = formStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("form_type", fromType));
if (one == null) {
throw new BadRequestException("当前表单无配置信息" + fromType);
}
JSONObject sourceData = JSONObject.parseObject(sourceString);
if (StringUtils.isNotEmpty(one.getConvert_json())) {
sourceData = sourceData.getJSONObject(one.getConvert_json());
}
JSONArray mapping_arr = new JSONArray();
for (int i = 0; i < formMapping.size(); i++) {
JSONObject item = formMapping.getJSONObject(i);
String value = item.getString("key");
JSONObject mappingJson = item.getJSONObject("value");
String skipExpression = mappingJson.getString("skipExpression");
String mapping_field = mappingJson.getString("external_field_name");
mapping_arr.add(new JSONObject(MapOf.of("value",value,"skipExpression",skipExpression,"mapping_field",mapping_field)));
}
Map<String, JSONObject> fieldMapping = mapping_arr.stream().collect(HashMap::new, (formMap, o) -> {
JSONObject item = (JSONObject) o;
formMap.put(item.getString("value"), item);
}, HashMap::putAll);
List<String> fields= mappingMapper.getTablename(fromType);
Set<String> set = new HashSet<>();
set.addAll(fields);
JSONObject target = pmFormDataService.fieldMapping(set,fieldMapping,sourceData);
T data = target.toJavaObject(clazz);
return ListOf.of(data);
}
@Override
public BmExternalFieldMapping getTableColumnNamesFromMapping(String table_name) {
LambdaQueryWrapper<BmExternalFieldMapping> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmExternalFieldMapping::getLocal_table_name, table_name);
BmExternalFieldMapping mapping = mappingMapper.selectOne(lqw);
String mapping_json = mapping.getMapping_json();
List<String> mapping_json1=mappingMapper.getTablename(table_name);
if (StrUtil.isNotBlank(mapping_json)) {
Map<String, String> map = JSON.parseObject(mapping_json, Map.class);
List<MappingDto> list = new ArrayList<>();
map.forEach((key, value) -> {
MappingDto dto = new MappingDto();
dto.setExternal_field_name(key);
dto.setLocal_field_name(value);
list.add(dto);
});
mapping.setDtos(list);
List<MappingDto> list1 = new ArrayList<>();
JSONObject jsonObject = JSONObject.parseObject(mapping_json);
for (int i = 0; i < mapping_json1.size(); i++) {
MappingDto mappingDto=new MappingDto();
mappingDto.setLocal_field_name(mapping_json1.get(i));
if (jsonObject.getJSONObject(mapping_json1.get(i)) != null){
mappingDto.setExternal_field_name(jsonObject.getJSONObject(mapping_json1.get(i)).getString("external_field_name"));
mappingDto.setSkipExpression(jsonObject.getJSONObject(mapping_json1.get(i)).getString("skipExpression"));
} else {
mappingDto.setExternal_field_name("");
mappingDto.setSkipExpression("");
}
list1.add(mappingDto);
}
mapping.setDtos(list1);
}
return mapping;
}
}
}