Merge remote-tracking branch 'origin/aps_0918' into aps_0918

This commit is contained in:
zhangzhiqiang
2023-09-20 16:31:21 +08:00
13 changed files with 150 additions and 101 deletions

View File

@@ -137,6 +137,15 @@ public class MaterialbaseServiceImpl implements MaterialbaseService{
return dto;
}
public MaterialbaseDto findById(String material_id) {
MdMeMaterialbase materialbase = materialbaseService.getOne(new QueryWrapper<MdMeMaterialbase>().eq("material_id", material_id));
MdPbMeasureunit unit = mdPbMeasureunitService.getOne(new QueryWrapper<MdPbMeasureunit>().eq("measure_unit_id", materialbase.getBase_unit_id()));
MaterialbaseDto dto = new MaterialbaseDto();
BeanUtils.copyProperties(materialbase, dto);
dto.setBase_unit_name(unit.getUnit_name());
return dto;
}
@Override
public MaterialbaseDto findByCode(String code) {
if(StrUtil.isNotEmpty(code) && code.contains("\\")) {

View File

@@ -91,7 +91,8 @@ public class PcsIfPurchaseorderController{
@PostMapping("/update")
@Log("修改原料计划")
//("修改原料需求")
public ResponseEntity<Object> update(@RequestBody JSONObject whereJson) {
public ResponseEntity<Object> update(@RequestBody JSONObject whereJson)
throws ParseException {
purchaseorderService.update(whereJson);
return new ResponseEntity<>(HttpStatus.OK);
}

View File

@@ -57,5 +57,6 @@ public interface IPcsIfPurchaseorderService extends IService<PcsIfPurchaseorder>
/**
* 原料需求单修改
*/
void update(JSONObject form);
void update(JSONObject form)
throws ParseException;
}

View File

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -178,4 +179,10 @@ public class PcsIfPurchaseorder implements Serializable{
* 对应半成品物料规格
*/
private String semireal_spec;
/**
* aps到货时间
*/
private Date aps_instorage_time;
}

View File

@@ -38,7 +38,7 @@
)
</if>
</where>
order by po.id desc
order by po.ask_time
</select>
<select id="queryAll" resultType="java.util.Map">
@@ -79,7 +79,7 @@
)
</if>
</where>
order by po.id desc
order by po.ask_time
</select>
<select id="updateSemirealSpec">

View File

@@ -38,7 +38,7 @@
)
</if>
</where>
order by po.id desc
order by po.ask_time
</select>
<select id="queryAll" resultType="java.util.Map">
@@ -86,7 +86,7 @@
)
</if>
</where>
order by po.id desc
order by po.ask_time
</select>
<select id="queryTransitQty" resultType="java.math.BigDecimal">

View File

@@ -1,6 +1,4 @@
package org.nl.wms.pcs_manage.service.purchase.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
@@ -15,7 +13,6 @@ import org.nl.common.TableDataInfo;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.utils.IdUtil;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.masterdata_manage.service.material.IMdMeMaterialbaseService;
import org.nl.wms.masterdata_manage.service.material.dao.MdMeMaterialbase;
import org.nl.wms.masterdata_manage.service.material.dao.mapper.MdMeMaterialbaseMapper;
import org.nl.wms.pcs_manage.PCSEnum;
@@ -28,7 +25,6 @@ import org.nl.wms.pcs_manage.service.purchase.dao.mapper.PcsIfPurchaseorderMappe
import org.nl.wms.pcs_manage.service.purchase.dto.PurchaseOrderQuery;
import org.nl.wms.storage_manage.CHECKEnum;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

View File

@@ -1,13 +1,10 @@
package org.nl.wms.pcs_manage.service.purchase.impl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -15,27 +12,19 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.apache.poi.hpsf.Decimal;
import org.nl.common.TableDataInfo;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.utils.IdUtil;
import org.nl.common.utils.SecurityUtils;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.common.utils.FileUtil;
import org.nl.modules.tools.service.dto.LocalStorageDto;
import org.nl.wms.pcs_manage.PCSEnum;
import org.nl.wms.pcs_manage.service.purchase.IPcsIfDemandorderService;
import org.nl.wms.pcs_manage.service.purchase.IPcsIfPurchaseorderService;
import org.nl.wms.pcs_manage.service.purchase.dao.PcsIfDemandorder;
import org.nl.wms.pcs_manage.service.purchase.dao.PcsIfPurchaseorder;
import org.nl.wms.pcs_manage.service.purchase.dao.mapper.PcsIfDemandorderMapper;
import org.nl.wms.pcs_manage.service.purchase.dao.mapper.PcsIfPurchaseorderMapper;
import org.nl.wms.pcs_manage.service.purchase.dto.PurchaseOrderQuery;
import org.nl.wms.storage_manage.CHECKEnum;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
@@ -47,8 +36,6 @@ import java.io.InputStream;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.ParseException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import static org.nl.modules.common.utils.DateUtil.*;
@@ -66,8 +53,6 @@ public class PcsIfPurchaseorderServiceImpl extends ServiceImpl<PcsIfPurchaseorde
@Resource
private PcsIfPurchaseorderMapper purchaseorderMapper;
@Resource
private PcsIfDemandorderMapper demandorderMapper;
@Resource
private IPcsIfDemandorderService pcsIfDemandorderService;
@Override
@@ -192,6 +177,8 @@ public class PcsIfPurchaseorderServiceImpl extends ServiceImpl<PcsIfPurchaseorde
if(status.equals(PCSEnum.BILL_STATUS.code("提交")) && (StrUtil.isNotBlank(po_code) && StrUtil.isNotBlank(agree_time))) {
order.setPo_code(po_code);
order.setAgree_time(agree_time);
//aps到货时间
order.setAps_instorage_time(org.nl.modules.common.utils.DateUtil.toDateByStartTime(agree_time));
order.setStatus(PCSEnum.BILL_STATUS.code("确认采购"));
order.setPurchase_id("0");
order.setPurchase_name("EXCEL导入");
@@ -212,30 +199,33 @@ public class PcsIfPurchaseorderServiceImpl extends ServiceImpl<PcsIfPurchaseorde
}
@Override
public void update(JSONObject form) {
public void update(JSONObject form)
throws ParseException {
JSONArray rows = form.getJSONArray("tableData");
for(int i = 0; i < rows.size(); i++) {
JSONObject row = rows.getJSONObject(i);
//需求单
if(!PCSEnum.BILL_STATUS.code("生成").equals(row.getString("status"))) {
if(StrUtil.isNotBlank(row.getString("po_code")) && StrUtil.isNotBlank(row.getString("agree_time"))) {
PcsIfPurchaseorder purchase = row.toJavaObject(PcsIfPurchaseorder.class);
if(purchase.getStatus().equals(PCSEnum.BILL_STATUS.code("提交"))) {
purchase.setStatus(PCSEnum.BILL_STATUS.code("确认采购"));
purchase.setPurchase_id(SecurityUtils.getCurrentUserId());
purchase.setPurchase_time(DateUtil.now());
purchase.setPurchase_name(SecurityUtils.getCurrentNickName());
for(int i = 0; i < rows.size(); i++) {
JSONObject row = rows.getJSONObject(i);
//需求单
if(!PCSEnum.BILL_STATUS.code("生成").equals(row.getString("status"))) {
if(StrUtil.isNotBlank(row.getString("po_code")) && StrUtil.isNotBlank(row.getString("agree_time"))) {
PcsIfPurchaseorder purchase = row.toJavaObject(PcsIfPurchaseorder.class);
//aps到货时间
purchase.setAps_instorage_time(org.nl.modules.common.utils.DateUtil.toDateByStartTime(purchase.getAgree_time()));
if(purchase.getStatus().equals(PCSEnum.BILL_STATUS.code("提交"))) {
purchase.setStatus(PCSEnum.BILL_STATUS.code("确认采购"));
purchase.setPurchase_id(SecurityUtils.getCurrentUserId());
purchase.setPurchase_time(DateUtil.now());
purchase.setPurchase_name(SecurityUtils.getCurrentNickName());
}
purchaseorderMapper.updateById(purchase);
}
else{
throw new BadRequestException("请检查订单编号或到料日期是否都已填写!");
}
purchaseorderMapper.updateById(purchase);
}
else{
throw new BadRequestException("请检查订单编号或到料日期是否都已填写!");
PcsIfDemandorder purchase = row.toJavaObject(PcsIfDemandorder.class);
pcsIfDemandorderService.updateById(purchase);
}
}
else{
PcsIfDemandorder purchase = row.toJavaObject(PcsIfDemandorder.class);
pcsIfDemandorderService.updateById(purchase);
}
}
}
}

View File

@@ -81,6 +81,11 @@ public class StIvtIostorinvdisYl implements Serializable {
*/
private String material_id;
/**
* 物料编码
*/
private String material_code;
/**
* 批次
*/

View File

@@ -190,6 +190,9 @@ public class StIvtIostorinvYlServiceImpl extends ServiceImpl<StIvtIostorinvYlMap
.instorage_time(DateUtil.now())
.stor_id(mst.getStor_id())
.workshop_id(mst.getWorkshop_id())
.material_code(dis.getMaterial_code())
.aps_instorage_time(DateUtil.now())
.aps_sale_type("I")//对应aps订单种类为绝对库存
.build();
structivtYlService.save(ivtDao);

View File

@@ -11,6 +11,9 @@ import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtSectattrServic
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService;
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtSectattr;
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
import org.nl.wms.masterdata_manage.备份master.service.MaterialbaseService;
import org.nl.wms.masterdata_manage.备份master.service.dto.MaterialbaseDto;
import org.nl.wms.masterdata_manage.备份master.service.impl.MaterialbaseServiceImpl;
import org.nl.wms.storage_manage.IOSEnum;
import org.nl.wms.storage_manage.rawmanage.service.iostorInv.dao.StIvtIostorinvdisYl;
import org.nl.wms.storage_manage.rawmanage.service.iostorInv.dao.StIvtIostorinvdtlYl;
@@ -20,6 +23,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
@@ -31,59 +35,63 @@ import java.util.List;
* @since 2023-05-10
*/
@Service
public class StIvtIostorinvdisYlServiceImpl extends ServiceImpl<StIvtIostorinvdisYlMapper, StIvtIostorinvdisYl> implements IStIvtIostorinvdisYlService {
public class StIvtIostorinvdisYlServiceImpl extends ServiceImpl<StIvtIostorinvdisYlMapper,StIvtIostorinvdisYl> implements IStIvtIostorinvdisYlService{
@Autowired
private IStIvtSectattrService sectattrService;
@Autowired
private IStIvtStructattrService structattrService;
@Resource
private MaterialbaseServiceImpl materialbaseService;
@Autowired
private IStIvtSectattrService sectattrService;
@Autowired
private IStIvtStructattrService structattrService;
@Override
public void create(JSONObject jo, JSONObject mst_jo) {
if(ObjectUtil.isNotEmpty(mst_jo)) {
String mst_id = mst_jo.getString("mst_id");
String dtl_id = mst_jo.getString("dtl_id");
String iostorinvdisYl_id = IdUtil.getStringId();
StIvtIostorinvdisYl row = jo.toJavaObject(StIvtIostorinvdisYl.class);
row.setIostorinv_id(mst_id);
row.setIostorinvdtl_id(dtl_id);
row.setIostorinvdtl_id(dtl_id);
row.setIostorinvdis_id(iostorinvdisYl_id);
List<StIvtIostorinvdisYl> list = this.list(new QueryWrapper<StIvtIostorinvdisYl>().eq("iostorinvdtl_id", dtl_id));
row.setSeq_no(list.size() + 1);
row.setIs_active(true);
row.setWork_status(IOSEnum.WORK_STATUS.code("未生成"));
row.setPlan_qty(row.getPlan_qty());
// 获取库区信息
QueryWrapper<StIvtSectattr> sect_wrapper = new QueryWrapper<>();
sect_wrapper.eq("sect_id", row.getSect_id());
sect_wrapper.eq("is_used", true);
StIvtSectattr sectDao = sectattrService.getOne(sect_wrapper);
if(ObjectUtil.isEmpty(sectDao)) {
throw new BadRequestException("库区不存在或未启用!");
}
row.setSect_code(sectDao.getSect_code());
row.setSect_name(sectDao.getSect_name());
// 获取仓位信息
QueryWrapper<StIvtStructattr> struct_wrapper = new QueryWrapper<>();
struct_wrapper.eq("struct_id", row.getStruct_id());
struct_wrapper.eq("is_used", true);
StIvtStructattr structDao = structattrService.getOne(struct_wrapper);
if(ObjectUtil.isEmpty(structDao)) {
throw new BadRequestException("仓位不存在或未启用!");
}
//查询物料信息
MaterialbaseDto materialbaseDto = materialbaseService.findById(row.getMaterial_id());
if(ObjectUtil.isEmpty(materialbaseDto)) {
throw new BadRequestException("物料信息不存在!");
}
row.setMaterial_code(materialbaseDto.getMaterial_code());
row.setStruct_code(structDao.getStruct_code());
row.setStruct_name(structDao.getStruct_name());
row.setPcsn(DateUtil.today());
this.save(row);
}
}
@Override
public void create(JSONObject jo, JSONObject mst_jo) {
if (ObjectUtil.isNotEmpty(mst_jo)) {
String mst_id = mst_jo.getString("mst_id");
String dtl_id = mst_jo.getString("dtl_id");
String iostorinvdisYl_id = IdUtil.getStringId();
StIvtIostorinvdisYl row = jo.toJavaObject(StIvtIostorinvdisYl.class);
row.setIostorinv_id(mst_id);
row.setIostorinvdtl_id(dtl_id);
row.setIostorinvdtl_id(dtl_id);
row.setIostorinvdis_id(iostorinvdisYl_id);
List<StIvtIostorinvdisYl> list = this.list(new QueryWrapper<StIvtIostorinvdisYl>().eq("iostorinvdtl_id", dtl_id));
row.setSeq_no(list.size() + 1);
row.setIs_active(true);
row.setWork_status(IOSEnum.WORK_STATUS.code("未生成"));
row.setPlan_qty(row.getPlan_qty());
// 获取库区信息
QueryWrapper<StIvtSectattr> sect_wrapper = new QueryWrapper<>();
sect_wrapper.eq("sect_id", row.getSect_id());
sect_wrapper.eq("is_used", true);
StIvtSectattr sectDao = sectattrService.getOne(sect_wrapper);
if (ObjectUtil.isEmpty(sectDao)) throw new BadRequestException("库区不存在或未启用!");
row.setSect_code(sectDao.getSect_code());
row.setSect_name(sectDao.getSect_name());
// 获取仓位信息
QueryWrapper<StIvtStructattr> struct_wrapper = new QueryWrapper<>();
struct_wrapper.eq("struct_id", row.getStruct_id());
struct_wrapper.eq("is_used", true);
StIvtStructattr structDao = structattrService.getOne(struct_wrapper);
if (ObjectUtil.isEmpty(structDao)) throw new BadRequestException("仓位不存在或未启用!");
row.setStruct_code(structDao.getStruct_code());
row.setStruct_name(structDao.getStruct_name());
row.setPcsn(DateUtil.today());
this.save(row);
}
}
@Override
public void deleteById(String mst_id) {
this.remove(new QueryWrapper<StIvtIostorinvdisYl>().eq("iostorinv_id", mst_id));
}
@Override
public void deleteById(String mst_id) {
this.remove(new QueryWrapper<StIvtIostorinvdisYl>().eq("iostorinv_id", mst_id));
}
}

View File

@@ -113,5 +113,18 @@ public class StIvtStructivtYl implements Serializable {
*/
private String workshop_id;
/**
* 物料编号
*/
private String material_code;
/**
* aps入库时间
*/
private String aps_instorage_time;
/**
* aps订单种类
*/
private String aps_sale_type;
}

View File

@@ -15,11 +15,14 @@
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
ALTER TABLE `pdm_bi_productprocessroute`
MODIFY COLUMN `material_id` varchar(25) NULL DEFAULT NULL COMMENT '物料标识';
ALTER TABLE md_me_materialbase
ADD COLUMN product_series_name varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '产品系列名称';
ALTER TABLE st_ivt_iostorinvdis_yl
ADD COLUMN `material_code` varchar(56) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '物料编号';
ALTER TABLE st_ivt_structivt_yl
MODIFY COLUMN aps_instorage_time timestamp NULL DEFAULT NULL COMMENT 'aps到货时间';
ALTER TABLE mps_sale_order
ADD COLUMN rate_qty decimal(18, 3) NULL DEFAULT NULL COMMENT '单重',
ADD COLUMN rawmaterial_name varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '原材料信息',
@@ -46,11 +49,12 @@ ALTER TABLE pcs_if_purchaseorder
ADD COLUMN parent_Id varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '对应父级id',
ADD COLUMN show_qty decimal(18, 6) NULL DEFAULT NULL COMMENT '重量',
ADD COLUMN rel_sale_code varchar(5000) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '原料关联父订单号',
ADD COLUMN semireal_spec varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '对应半成品物料规格';
ADD COLUMN semireal_spec varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '对应半成品物料规格',
ADD COLUMN aps_instorage_time timestamp NULL DEFAULT NULL COMMENT 'aps到货时间';
ALTER TABLE ql_test_inspectionsheetmst
ADD COLUMN material_id varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '物料标识';
DROP TABLE IF EXISTS `pcs_if_demandorder`;
CREATE TABLE `pcs_if_demandorder` (
CREATE TABLE `pcs_if_demandorder`(
`id` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'id',
`workshop_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '车间标识',
`material_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '物料标识',
@@ -38651,7 +38655,19 @@ INSERT INTO `pdm_bi_workprocedure` VALUES ('1694247308239179776', 'A3', 'A3_TK',
INSERT INTO `pdm_bi_workprocedure` VALUES ('1694247422554935296', 'A3', 'A3_STLS', '三线三通拉伸', '02', '01', 1, 1, 1, NULL, 1, '管理员', '2023-08-23 15:17:17', NULL, NULL, NULL, NULL);
INSERT INTO `pdm_bi_workprocedure` VALUES ('1694247589844750336', 'A3', 'A3_FHQX', '三线发黑清洗', '02', '01', 1, 1, 1, NULL, 1, '管理员', '2023-08-23 15:17:57', NULL, NULL, NULL, NULL);
INSERT INTO `pdm_bi_workprocedure` VALUES ('1694247968535875584', 'A3', 'A3_CPQX', '三线成品清洗', '02', '01', 1, 1, 1, NULL, 1, '管理员', '2023-08-23 15:19:27', NULL, NULL, NULL, NULL);
delete from st_ivt_checkdtl_yl;
delete from st_ivt_checkmst_yl;
delete from st_ivt_iostordaily_yl;
delete from st_ivt_iostorinv_yl;
delete from st_ivt_iostorinvdis_yl;
delete from st_ivt_iostorinvdtl_yl;
delete from st_ivt_moreorlessdtl_yl;
delete from st_ivt_moreorlessmst_yl;
delete from st_ivt_structivt_yl;
delete from st_ivt_structivtflow_yl;
delete from pcs_if_purchaseorder;
INSERT INTO `pcs_if_purchaseorder` VALUES ('1704061432066347008', 'A1', '1684134834211000320', 1369.000000, 0.000000, 0.000000, '16', '个\\只', '2023-09-19', '1322223', '2023-09-19', NULL, 0.000000, '30', '1694303357524643840', '管理员', '2023/09/19 17:14:38', '1694303357524643840', '2023-09-19 17:14:39', '管理员', '0', '2023-09-19 17:17:04', 'EXCEL导入', NULL, NULL, NULL, NULL, 1, '111', '111', '10100046', NULL, '01', NULL, NULL, NULL, NULL, '24024281S', NULL, 100.000000, NULL, 'CCS1 3/8*1 1/8', '2023-09-19 00:00:00');
INSERT INTO `st_ivt_structivt_yl` VALUES ('1704039949118083072', '1528636861080276992', 'YCL001', '原材料仓位', '1684134834211000320', '01', '2023-07-19', '01', 1, 200.000000, 0.000000, 200.000000, 0.000000, '16', '2023-07-19 15:49:18', '1528627964823080960', 'A1', '10100046', '2023-07-18 15:49:18', 'I');
SET FOREIGN_KEY_CHECKS = 1;