Merge branch 'master' of http://121.40.234.130:8899/root/hl_one
This commit is contained in:
@@ -58,11 +58,11 @@
|
||||
</dependency>
|
||||
|
||||
<!-- 日志链路追踪 https://tlog.yomahub.com/pages/f62a84/#%E5%90%8C%E6%AD%A5%E6%97%A5%E5%BF%97-->
|
||||
<dependency>
|
||||
<groupId>com.yomahub</groupId>
|
||||
<artifactId>tlog-all-spring-boot-starter</artifactId>
|
||||
<version>1.5.0</version>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.yomahub</groupId>-->
|
||||
<!-- <artifactId>tlog-all-spring-boot-starter</artifactId>-->
|
||||
<!-- <version>1.5.0</version>-->
|
||||
<!-- </dependency>-->
|
||||
|
||||
<!-- 获取系统信息 -->
|
||||
<dependency>
|
||||
|
||||
@@ -143,34 +143,24 @@ public class StringUtils {
|
||||
* 获取ip地址
|
||||
*/
|
||||
public static String getIp(HttpServletRequest request) {
|
||||
// TODO 不解析IP地址
|
||||
if(true){
|
||||
return "127.0.0.1";
|
||||
}
|
||||
|
||||
String ip = request.getHeader("x-forwarded-for");
|
||||
if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {
|
||||
String ip = request.getHeader("X-Forwarded-For");
|
||||
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getHeader("Proxy-Client-IP");
|
||||
}
|
||||
if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {
|
||||
|
||||
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getHeader("WL-Proxy-Client-IP");
|
||||
}
|
||||
if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {
|
||||
|
||||
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getRemoteAddr();
|
||||
}
|
||||
String comma = ",";
|
||||
String localhost = "127.0.0.1";
|
||||
if (ip.contains(comma)) {
|
||||
ip = ip.split(",")[0];
|
||||
}
|
||||
if (localhost.equals(ip)) {
|
||||
// 获取本机真正的ip地址
|
||||
try {
|
||||
ip = InetAddress.getLocalHost().getHostAddress();
|
||||
} catch (UnknownHostException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
||||
if (ip != null && ip.contains(",")) {
|
||||
String[] ipArray = ip.split(",");
|
||||
ip = ipArray[0];
|
||||
}
|
||||
|
||||
return ip;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.json.XML;
|
||||
@@ -14,6 +15,15 @@ import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.common.utils.WebServiceUtil;
|
||||
import org.nl.wms.ext.sap.service.WmsToSapService;
|
||||
import org.nl.wms.masterdata_manage.master.service.customer.IMdCsCustomerbaseService;
|
||||
import org.nl.wms.masterdata_manage.master.service.customer.dao.MdCsCustomerbase;
|
||||
import org.nl.wms.masterdata_manage.service.master.IMdPbMeasureunitService;
|
||||
import org.nl.wms.masterdata_manage.service.master.dao.MdPbMeasureunit;
|
||||
import org.nl.wms.masterdata_manage.service.material.IMdMeMaterialbaseService;
|
||||
import org.nl.wms.masterdata_manage.service.material.dao.MdMeMaterialbase;
|
||||
import org.nl.wms.mps_manage.ordermanage.service.saleOrder.IMpsSaleOrderService;
|
||||
import org.nl.wms.mps_manage.ordermanage.service.saleOrder.dao.MpsSaleOrder;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -25,6 +35,15 @@ import java.util.HashMap;
|
||||
@Slf4j
|
||||
public class WmsToSapServiceImpl implements WmsToSapService {
|
||||
|
||||
@Autowired
|
||||
private IMdPbMeasureunitService mdPbMeasureunitService;
|
||||
@Autowired
|
||||
private IMdMeMaterialbaseService materialbaseService;
|
||||
@Autowired
|
||||
private IMdCsCustomerbaseService customerbaseService;
|
||||
@Autowired
|
||||
private IMpsSaleOrderService saleOrderService;
|
||||
|
||||
@Override
|
||||
public JSONObject getMater(JSONObject form) {
|
||||
return null;
|
||||
@@ -119,38 +138,39 @@ public class WmsToSapServiceImpl implements WmsToSapService {
|
||||
sale_jo.put("sale_type", row.getString("Auart"));
|
||||
String material_code = row.getString("Matnr").replaceAll("^(0+)", "");
|
||||
//获取物料对应的物料标识
|
||||
JSONObject mater_jo = WQLObject.getWQLObject("MD_ME_MaterialBase").query("material_code = '" + material_code + "'").uniqueResult(0);
|
||||
MdMeMaterialbase mater_jo = materialbaseService.getOne(new QueryWrapper<MdMeMaterialbase>().eq("material_code", material_code));
|
||||
if (ObjectUtil.isEmpty(mater_jo)) {
|
||||
sale_jo.put("material_id", "0");
|
||||
sale_jo.put("is_success", "0");
|
||||
sale_jo.put("remark", "未查询到该销售订单对应的物料主数据:" + material_code);
|
||||
err_num++;
|
||||
} else {
|
||||
String material_id = mater_jo.getString("material_id");
|
||||
String material_id =mater_jo.getMaterial_id();
|
||||
sale_jo.put("material_id", material_id);
|
||||
}
|
||||
sale_jo.put("status", "10");
|
||||
sale_jo.put("sale_qty", row.getString("Kwmeng"));
|
||||
sale_jo.put("produce_seq", "1");
|
||||
String cust_code = row.getString("Kunnr");
|
||||
JSONObject cust_jo = WQLObject.getWQLObject("md_cs_customerbase").query("cust_code = '" + cust_code + "'").uniqueResult(0);
|
||||
MdCsCustomerbase cust_jo = customerbaseService.getOne(new QueryWrapper<MdCsCustomerbase>().eq("cust_code", cust_code));
|
||||
if (ObjectUtil.isNotEmpty(cust_jo)) {
|
||||
sale_jo.put("cust_id", cust_jo.getString("cust_id"));
|
||||
sale_jo.put("cust_code", cust_jo.getString("cust_code"));
|
||||
sale_jo.put("cust_name", cust_jo.getString("cust_name"));
|
||||
sale_jo.put("cust_id", cust_jo.getCust_id());
|
||||
sale_jo.put("cust_code", cust_jo.getCust_code());
|
||||
sale_jo.put("cust_name", cust_jo.getCust_name());
|
||||
} else {
|
||||
sale_jo.put("is_success", "0");
|
||||
sale_jo.put("remark", "未查询到该销售订单对应的客户信息:" + cust_code);
|
||||
err_num++;
|
||||
}
|
||||
String unit_code = row.getString("Vrkme");
|
||||
JSONObject unit_jo = WQLObject.getWQLObject("md_pb_measureunit").query("unit_name = '" + unit_code + "'").uniqueResult(0);
|
||||
MdPbMeasureunit unit_jo = mdPbMeasureunitService.getOne(new QueryWrapper<MdPbMeasureunit>()
|
||||
.eq("unit_name", unit_code));
|
||||
if (ObjectUtil.isEmpty(unit_jo)) {
|
||||
sale_jo.put("qty_unit_id", "0");
|
||||
sale_jo.put("remark", "未查询到该销售订单对应的单位信息:" + unit_code);
|
||||
err_num++;
|
||||
} else {
|
||||
sale_jo.put("qty_unit_id", unit_jo.getString("measure_unit_id"));
|
||||
sale_jo.put("qty_unit_id", unit_jo.getMeasure_unit_id());
|
||||
}
|
||||
sale_jo.put("plandeliver_date", row.getString("Edatu"));
|
||||
sale_jo.put("create_id", SecurityUtils.getCurrentUserId());
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package org.nl.wms.masterdata_manage.master.controller.customer;
|
||||
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 客户基本信息表 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2023-06-25
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/mdCsCustomerbase")
|
||||
public class MdCsCustomerbaseController {
|
||||
|
||||
}
|
||||
|
||||
@@ -127,7 +127,8 @@ public class MdPbClassstandardServiceImpl extends ServiceImpl<MdPbClassstandardM
|
||||
query.eq("parent_class_id",whereJson.get("parent_class_id"));
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(whereJson.get("class_idStr"))) {
|
||||
query.last("and class_id in "+whereJson.get("class_idStr"));
|
||||
query.in("class_id",whereJson.get("class_idStr"));
|
||||
// query.last("and class_id in "+whereJson.get("class_idStr"));
|
||||
}
|
||||
List<Map<String, Object>> list = this.listMaps(query);
|
||||
return getMaps(list);
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.nl.wms.masterdata_manage.master.service.customer;
|
||||
|
||||
import org.nl.wms.masterdata_manage.master.service.customer.dao.MdCsCustomerbase;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 客户基本信息表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2023-06-25
|
||||
*/
|
||||
public interface IMdCsCustomerbaseService extends IService<MdCsCustomerbase> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,144 @@
|
||||
package org.nl.wms.masterdata_manage.master.service.customer.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 客户基本信息表
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2023-06-25
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("md_cs_customerbase")
|
||||
public class MdCsCustomerbase implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 客户标识
|
||||
*/
|
||||
private Long cust_id;
|
||||
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
private String cust_code;
|
||||
|
||||
/**
|
||||
* 客户名称
|
||||
*/
|
||||
private String cust_name;
|
||||
|
||||
/**
|
||||
* 法人代表
|
||||
*/
|
||||
private String jurid_name;
|
||||
|
||||
/**
|
||||
* 税务登记号
|
||||
*/
|
||||
private String tax_no;
|
||||
|
||||
/**
|
||||
* 工商注册号
|
||||
*/
|
||||
private String register_no;
|
||||
|
||||
/**
|
||||
* 经营许可证号
|
||||
*/
|
||||
private String manage_lice_no;
|
||||
|
||||
/**
|
||||
* 营业执照
|
||||
*/
|
||||
private String busi_char_name;
|
||||
|
||||
/**
|
||||
* 行政区划
|
||||
*/
|
||||
private Long area_id;
|
||||
|
||||
/**
|
||||
* 邮政编码
|
||||
*/
|
||||
private String zip_code;
|
||||
|
||||
/**
|
||||
* 公司电话
|
||||
*/
|
||||
private String corp_tele_no;
|
||||
|
||||
/**
|
||||
* 公司地址
|
||||
*/
|
||||
private String corp_address;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private Long create_id;
|
||||
|
||||
/**
|
||||
* 创建人姓名
|
||||
*/
|
||||
private String create_name;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private String create_time;
|
||||
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
private Long update_id;
|
||||
|
||||
/**
|
||||
* 修改人姓名
|
||||
*/
|
||||
private String update_name;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private String update_time;
|
||||
|
||||
/**
|
||||
* 启用时间
|
||||
*/
|
||||
private String is_used_time;
|
||||
|
||||
/**
|
||||
* 是否启用
|
||||
*/
|
||||
private String is_used;
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
private String is_delete;
|
||||
|
||||
/**
|
||||
* 外部标识
|
||||
*/
|
||||
private String ext_id;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 分类标识
|
||||
*/
|
||||
private Long class_id;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.nl.wms.masterdata_manage.master.service.customer.dao.mapper;
|
||||
|
||||
import org.nl.wms.masterdata_manage.master.service.customer.dao.MdCsCustomerbase;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 客户基本信息表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2023-06-25
|
||||
*/
|
||||
public interface MdCsCustomerbaseMapper extends BaseMapper<MdCsCustomerbase> {
|
||||
|
||||
}
|
||||
@@ -0,0 +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.masterdata_manage.master.service.customer.dao.mapper.MdCsCustomerbaseMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,20 @@
|
||||
package org.nl.wms.masterdata_manage.master.service.customer.impl;
|
||||
|
||||
import org.nl.wms.masterdata_manage.master.service.customer.dao.MdCsCustomerbase;
|
||||
import org.nl.wms.masterdata_manage.master.service.customer.dao.mapper.MdCsCustomerbaseMapper;
|
||||
import org.nl.wms.masterdata_manage.master.service.customer.IMdCsCustomerbaseService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 客户基本信息表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2023-06-25
|
||||
*/
|
||||
@Service
|
||||
public class MdCsCustomerbaseServiceImpl extends ServiceImpl<MdCsCustomerbaseMapper, MdCsCustomerbase> implements IMdCsCustomerbaseService {
|
||||
|
||||
}
|
||||
@@ -28,6 +28,7 @@ public class MdPbStoragevehicleext implements Serializable {
|
||||
/**
|
||||
* 载具编码
|
||||
*/
|
||||
@TableId
|
||||
private String storagevehicle_id;
|
||||
/**
|
||||
* 载具编码
|
||||
|
||||
@@ -39,6 +39,7 @@ public class StructattrController {
|
||||
@ApiOperation("查询仓位")
|
||||
//@PreAuthorize("@el.check('structattr:list')")
|
||||
public ResponseEntity<Object> queryAll(StructarrQuery query, PageQuery page) {
|
||||
page.setSort("struct_code ASC");
|
||||
Page<StIvtStructattr> list = ivtStructattrService.page(page.build(StIvtStructattr.class), query.build());
|
||||
return new ResponseEntity<>(TableDataInfo.build(list), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@@ -169,16 +169,29 @@ public class PdmProduceWorkorderController {
|
||||
@ApiOperation("报工数修改")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> reportQuery2(ReportQuery param, PageQuery pageQuery) {
|
||||
Page<Object> page = PageHelper
|
||||
.startPage(pageQuery.getPage() + 1, pageQuery.getSize())
|
||||
.setOrderBy("workorder_code desc,seq_number asc");
|
||||
param.setOrderby("true");
|
||||
Page<Object> page = null;
|
||||
if (pageQuery.getPage() != null && pageQuery.getSize() !=null){
|
||||
page = PageHelper
|
||||
.startPage(pageQuery.getPage() + 1, pageQuery.getSize())
|
||||
.setOrderBy("workorder_code desc,seq_number asc");
|
||||
param.setOrderby("true");
|
||||
}
|
||||
List<Map> list = iPdmProduceWorkorderService.reportQuery(param);
|
||||
TableDataInfo<Map> build = TableDataInfo.build(list);
|
||||
build.setTotalElements(page.getTotal());
|
||||
if (page!=null){
|
||||
build.setTotalElements(page.getTotal());
|
||||
}
|
||||
return new ResponseEntity<>(build, HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/reportQuery3")
|
||||
@Log("工单报工数")
|
||||
@ApiOperation("工单报工数")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> reportQuery3(@RequestBody ReportQuery param) {
|
||||
return new ResponseEntity<>(TableDataInfo.build(iPdmProduceWorkorderService.reportQuery(param)), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("导出数据")
|
||||
@ApiOperation("导出数据")
|
||||
@PostMapping(value = "/download")
|
||||
|
||||
@@ -633,6 +633,7 @@ public class IPdmProduceWorkorderServiceImpl extends ServiceImpl<PdmProduceWorko
|
||||
form.put("material_spec", material.getMaterial_spec());
|
||||
form.put("device_code", workOrder.getDevice_code());
|
||||
form.put("is_needmove", workOrder.getIs_needmove() ? 1 : 0);
|
||||
form.put("is_used_fxx", workOrder.getIs_used_fxx() ? 1 : 0);
|
||||
if (param.containsKey("extra_map")) {
|
||||
form.put("extra_map", param.getJSONObject("extra_map"));
|
||||
}
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
package org.nl.wms.storage_manage.basedata.controller.record;
|
||||
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nl.common.anno.Log;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.storage_manage.basedata.service.record.service.IStIvtStructivtflowService;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dto.IvtFlowQuery;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
@@ -14,8 +22,17 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
* @since 2023-05-10
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/stIvtStructivtflowBcp")
|
||||
@RequestMapping("/api/stIvtStructivtflowBcp")
|
||||
public class StIvtStructivtflowBcpController {
|
||||
|
||||
@Autowired
|
||||
private IStIvtStructivtflowService iStIvtStructivtflowService;
|
||||
|
||||
@GetMapping
|
||||
@Log("查询库存变动记录")
|
||||
@ApiOperation("查询库存变动记录")
|
||||
public ResponseEntity<Object> query(IvtFlowQuery query, PageQuery page) {
|
||||
return new ResponseEntity<>(iStIvtStructivtflowService.queryAll(query,page), HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -45,12 +45,7 @@ public class StIvtStructivtflow implements Serializable {
|
||||
/**
|
||||
* 物料标识
|
||||
*/
|
||||
private String material_code;
|
||||
|
||||
/**
|
||||
* 物料规格
|
||||
*/
|
||||
private String material_spec;
|
||||
private String material_id;
|
||||
|
||||
/**
|
||||
* 批次
|
||||
@@ -79,7 +74,7 @@ public class StIvtStructivtflow implements Serializable {
|
||||
/**
|
||||
* 单据类型
|
||||
*/
|
||||
private String bill_type;
|
||||
private String bill_type_scode;
|
||||
|
||||
/**
|
||||
* 单据标识
|
||||
@@ -104,17 +99,17 @@ public class StIvtStructivtflow implements Serializable {
|
||||
/**
|
||||
* 变动时间
|
||||
*/
|
||||
private Date create_time;
|
||||
private String change_time;
|
||||
|
||||
/**
|
||||
* 变动人
|
||||
*/
|
||||
private String create_id;
|
||||
private String change_person_id;
|
||||
|
||||
/**
|
||||
* 变动人姓名
|
||||
*/
|
||||
private String create_name;
|
||||
private String change_person_name;
|
||||
|
||||
/**
|
||||
* 变动数
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
package org.nl.wms.storage_manage.basedata.service.record.dao.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.nl.wms.storage_manage.basedata.service.record.dao.StIvtStructivtflow;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dto.IvtFlowQuery;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -13,4 +18,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
*/
|
||||
public interface StIvtStructivtflowBcpMapper extends BaseMapper<StIvtStructivtflow> {
|
||||
|
||||
List<Map> queryAll(@Param("query") IvtFlowQuery query);
|
||||
}
|
||||
|
||||
@@ -2,4 +2,44 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.nl.wms.storage_manage.basedata.service.record.dao.mapper.StIvtStructivtflowBcpMapper">
|
||||
|
||||
<select id="queryAll" resultType="java.util.Map">
|
||||
SELECT
|
||||
ivt.*,
|
||||
mater.material_code,
|
||||
mater.material_name,
|
||||
mater.material_spec,
|
||||
attr.stor_name,
|
||||
attr.stor_name,
|
||||
attr.sect_name,
|
||||
unit.unit_name
|
||||
FROM
|
||||
st_ivt_structivtflow_bcp ivt
|
||||
LEFT JOIN md_me_materialbase mater ON mater.material_id = ivt.material_id
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = ivt.struct_id
|
||||
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = ivt.qty_unit_id
|
||||
<where>
|
||||
1 = 1
|
||||
<if test="query.struct_code != null and query.struct_code != ''">
|
||||
and (ivt.struct_code LIKE '%${query.struct_code}%' or
|
||||
ivt.struct_name LIKE '%${query.struct_code}%' )
|
||||
</if>
|
||||
<if test="query.material_code != null and query.material_code != ''">
|
||||
and (mater.material_code LIKE '%${query.material_code}%' or
|
||||
mater.material_name LIKE '%${query.material_code}%' or
|
||||
mater.material_spec LIKE '%${query.material_code}%'
|
||||
)
|
||||
</if>
|
||||
<if test="query.bill_code != null and query.bill_code != ''">
|
||||
and ivt.bill_code LIKE '%${query.bill_code}%'
|
||||
</if>
|
||||
<if test="query.change_type_scode != null and query.change_type_scode != ''">
|
||||
and ivt.change_type_scode = #{query.change_type_scode}
|
||||
</if>
|
||||
<if test="query.stor_id != null and query.stor_id != ''">
|
||||
and ivt.stor_id = #{query.stor_id}
|
||||
</if>
|
||||
</where>
|
||||
order by ivt.change_time desc,ivt.struct_code ASC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
package org.nl.wms.storage_manage.basedata.service.record.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.storage_manage.basedata.service.record.dao.StIvtStructivtflow;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.wms.storage_manage.basedata.service.record.dto.StIvtStructivtflowDto;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dto.IvtFlowQuery;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -15,4 +18,8 @@ import org.nl.wms.storage_manage.basedata.service.record.dto.StIvtStructivtflowD
|
||||
public interface IStIvtStructivtflowService extends IService<StIvtStructivtflow> {
|
||||
|
||||
void recordStructivtFlow(StIvtStructivtflowDto flowDto);
|
||||
|
||||
void insetIvtChange(JSONObject json);
|
||||
|
||||
Object queryAll(IvtFlowQuery query, PageQuery page);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
package org.nl.wms.storage_manage.basedata.service.record.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
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;
|
||||
@@ -13,6 +19,8 @@ import org.nl.wms.storage_manage.basedata.service.record.service.IStIvtStructivt
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStructivtflowCp;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dto.IvtFlowQuery;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -34,6 +42,8 @@ public class StIvtStructivtflowServiceImpl extends ServiceImpl<StIvtStructivtflo
|
||||
private IStIvtStructattrService structattrService;
|
||||
@Autowired
|
||||
private IMdMeMaterialbaseService materialbaseService;
|
||||
@Autowired
|
||||
protected IStIvtStructattrService iStIvtStructattrService; // 仓位属性服务
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
@@ -43,8 +53,6 @@ public class StIvtStructivtflowServiceImpl extends ServiceImpl<StIvtStructivtflo
|
||||
flow.setChange_id(IdUtil.getStringId());
|
||||
物料信息: {
|
||||
MdMeMaterialbase material = materialbaseService.getOne(new QueryWrapper<MdMeMaterialbase>().eq("material_id", flowDto.getMaterial_id()));
|
||||
flow.setMaterial_code(material.getMaterial_code());
|
||||
flow.setMaterial_spec(material.getMaterial_spec());
|
||||
flow.setPcsn(flowDto.getPcsn());
|
||||
}
|
||||
仓库信息:{
|
||||
@@ -58,9 +66,6 @@ public class StIvtStructivtflowServiceImpl extends ServiceImpl<StIvtStructivtflo
|
||||
flow.setBill_table(flowDto.getBill_table());
|
||||
flow.setChange_qty(flowDto.getChange_qty());
|
||||
flow.setResult_qty(flowDto.getResult_qty());
|
||||
flow.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||
flow.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
flow.setCreate_time(new Date());
|
||||
this.save(flow);
|
||||
|
||||
struct_attr.setStoragevehicle_code(flowDto.getStoragevehicle_code());
|
||||
@@ -78,4 +83,43 @@ public class StIvtStructivtflowServiceImpl extends ServiceImpl<StIvtStructivtflo
|
||||
}
|
||||
structattrService.updateById(struct_attr);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void insetIvtChange(JSONObject json) {
|
||||
|
||||
StIvtStructattr ivtDao = iStIvtStructattrService.getById(json.getString("struct_id"));
|
||||
|
||||
StIvtStructivtflow dao = new StIvtStructivtflow();
|
||||
dao.setChange_id(IdUtil.getStringId());
|
||||
dao.setStruct_id(json.getString("struct_id"));
|
||||
dao.setStruct_code(json.getString("struct_code"));
|
||||
dao.setStruct_name(json.getString("struct_name"));
|
||||
dao.setMaterial_id(json.getString("material_id"));
|
||||
dao.setQuality_scode(json.getString("quality_scode"));
|
||||
dao.setIvt_level(json.getString("ivt_level"));
|
||||
dao.setIs_active(json.getBoolean("is_active"));
|
||||
dao.setPcsn(json.getString("pcsn"));
|
||||
dao.setStor_id(ivtDao.getStor_id());
|
||||
dao.setChange_type_scode(json.getString("change_type"));
|
||||
dao.setChange_time(DateUtil.now());
|
||||
dao.setChange_person_id(SecurityUtils.getCurrentUserId());
|
||||
dao.setChange_person_name(SecurityUtils.getCurrentNickName());
|
||||
dao.setChange_qty(json.getBigDecimal("change_qty"));
|
||||
dao.setResult_qty(json.getBigDecimal("result_qty"));
|
||||
dao.setQty_unit_id(json.getString("qty_unit_id"));
|
||||
dao.setProduct_area(json.getString("workshop_id"));
|
||||
dao.setBill_code(json.getString("bill_code"));
|
||||
dao.setBill_type_scode(json.getString("bill_type_scode"));
|
||||
dao.setInv_id(json.getString("inv_id"));
|
||||
this.save(dao);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object queryAll(IvtFlowQuery query, PageQuery pageQuery) {
|
||||
Page<Object> page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize());
|
||||
TableDataInfo build = TableDataInfo.build(this.baseMapper.queryAll(query));
|
||||
build.setTotalElements(page.getTotal());
|
||||
return build;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
package org.nl.wms.storage_manage.productmanage.controller.structIvt;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nl.common.anno.Log;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.IStIvtStructivtflowCpService;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dto.IvtFlowQuery;
|
||||
import org.nl.wms.storage_manage.semimanage.service.iostorInv.dto.BcpIostorInvQuery;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@@ -12,8 +22,18 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
* @since 2023-05-04
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/stIvtStructivtflowCp")
|
||||
@RequestMapping("/api/stIvtStructivtflowCp")
|
||||
public class StIvtStructivtflowCpController {
|
||||
|
||||
@Autowired
|
||||
private IStIvtStructivtflowCpService iStIvtStructivtflowCpService;
|
||||
|
||||
@GetMapping
|
||||
@Log("查询库存变动记录")
|
||||
@ApiOperation("查询库存变动记录")
|
||||
public ResponseEntity<Object> query(IvtFlowQuery query, PageQuery page) {
|
||||
return new ResponseEntity<>(iStIvtStructivtflowCpService.queryAll(query,page), HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ public class StIvtCheckdtlCp implements Serializable {
|
||||
/**
|
||||
* 是否已下发
|
||||
*/
|
||||
private String is_down;
|
||||
private Boolean is_down;
|
||||
|
||||
/**
|
||||
* 盘点数量
|
||||
|
||||
@@ -82,14 +82,7 @@ public class StIvtCheckdtlCpServiceImpl extends ServiceImpl<StIvtCheckdtlCpMappe
|
||||
if (ObjectUtil.isEmpty(structDao)) throw new BadRequestException("仓位不存在或未启用!");
|
||||
row.setStruct_name(structDao.getStruct_name());
|
||||
|
||||
// 获取载具信息
|
||||
MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getOne(
|
||||
new QueryWrapper<MdPbStoragevehicleinfo>().lambda()
|
||||
.eq(MdPbStoragevehicleinfo::getStoragevehicle_code, row.getStoragevehicle_code())
|
||||
);
|
||||
|
||||
row.setStoragevehicle_id(vehicleDao.getStoragevehicle_id());
|
||||
row.setStoragevehicle_code(vehicleDao.getStoragevehicle_code());
|
||||
row.setStoragevehicle_id(IdUtil.getStringId()); // 随机生成
|
||||
row.setStatus(CHECKEnum.DTL_STATUS.code("生成"));
|
||||
this.save(row);
|
||||
|
||||
|
||||
@@ -544,7 +544,7 @@ public class StIvtCheckmstCpServiceImpl extends ServiceImpl<StIvtCheckmstCpMappe
|
||||
.build();
|
||||
BussEventMulticaster.Publish(event);
|
||||
|
||||
dtlDao.setIs_down("1");
|
||||
dtlDao.setIs_down(true);
|
||||
iStIvtCheckdtlCpService.updateById(dtlDao);
|
||||
|
||||
}
|
||||
|
||||
@@ -487,7 +487,12 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
||||
StIvtIostorinvdtlCp dtlDao = dtlDaoList.stream()
|
||||
.filter(row -> row.getIostorinvdtl_id().equals(dao.getIostorinvdtl_id()))
|
||||
.findAny().get();
|
||||
iStIvtStructivtCpService.UpdateIvt(ivtDataParam(dao,ChangeIvtUtil.SUBFROZEN_SUBIVT_QTY,dtlDao.getBase_billdtl_id()));
|
||||
|
||||
JSONObject param = ivtDataParam(dao, ChangeIvtUtil.SUBFROZEN_SUBIVT_QTY, dtlDao.getBase_billdtl_id());
|
||||
param.put("bill_code",mstDao.getBill_code());
|
||||
param.put("inv_id",mstDao.getIostorinv_id());
|
||||
param.put("bill_type_scode",mstDao.getBill_type());
|
||||
iStIvtStructivtCpService.UpdateIvt(param);
|
||||
|
||||
// 3)解锁起点 / 将此托盘上的库存全部出掉
|
||||
unLockNext(dao.getStruct_id());
|
||||
@@ -826,6 +831,9 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
||||
param.put("change_qty", ivtDao.getCanuse_qty());
|
||||
param.put("sale_id", ivtDao.getSale_id());
|
||||
param.put("change_type", ChangeIvtUtil.ADDFROZEN_SUBIVT_QTY);
|
||||
param.put("bill_code",mstDao.getBill_code());
|
||||
param.put("inv_id",mstDao.getIostorinv_id());
|
||||
param.put("bill_type_scode",mstDao.getBill_type());
|
||||
iStIvtStructivtCpService.UpdateIvt(param);
|
||||
|
||||
// 2.锁定仓位
|
||||
@@ -848,6 +856,8 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
||||
*/
|
||||
StIvtIostorinvdtlCp dtlDao = iostorinvdtlCpService.getById(dao.getIostorinvdtl_id());
|
||||
|
||||
StIvtIostorinvCp mstDao = this.getById(dtlDao.getIostorinv_id());
|
||||
|
||||
// 更新库存
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("struct_id", dao.getStruct_id());
|
||||
@@ -858,6 +868,9 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
||||
param.put("change_qty", dao.getReal_qty());
|
||||
param.put("sale_id", dtlDao.getBase_billdtl_id());
|
||||
param.put("change_type", type);
|
||||
param.put("bill_code",mstDao.getBill_code());
|
||||
param.put("inv_id",mstDao.getIostorinv_id());
|
||||
param.put("bill_type_scode",mstDao.getBill_type());
|
||||
iStIvtStructivtCpService.UpdateIvt(param);
|
||||
|
||||
// 解锁仓位
|
||||
|
||||
@@ -480,6 +480,9 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
JSONObject param = ivtDataParam(disDao_1, ChangeIvtUtil.ADDWAREHOUSING_QTY, dtlDao.getBase_billdtl_id());
|
||||
param.put("product_area", mstDao.getProduct_area());
|
||||
param.put("stor_id", mstDao.getStor_id());
|
||||
param.put("bill_code",mstDao.getBill_code());
|
||||
param.put("inv_id",mstDao.getIostorinv_id());
|
||||
param.put("bill_type_scode",mstDao.getBill_type());
|
||||
iStIvtStructivtCpService.UpdateIvt(param);
|
||||
}
|
||||
}
|
||||
@@ -562,6 +565,7 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
.stream()
|
||||
.collect(Collectors.groupingBy(StIvtIostorinvdisCp::getIostorinvdtl_id));
|
||||
|
||||
StIvtIostorinvCp mstDao = this.getById(disDao.getIostorinv_id());
|
||||
for (List<StIvtIostorinvdisCp> list : collect.values()) {
|
||||
|
||||
BigDecimal qty = list
|
||||
@@ -574,7 +578,11 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
|
||||
StIvtIostorinvdtlCp dtlDao = iostorinvdtlCpService.getById(disDao_1.getIostorinvdtl_id());
|
||||
|
||||
iStIvtStructivtCpService.UpdateIvt(ivtDataParam(disDao_1,ChangeIvtUtil.SUBWAREHOUSING_QTY,dtlDao.getBase_billdtl_id()));
|
||||
JSONObject param = ivtDataParam(disDao_1, ChangeIvtUtil.SUBWAREHOUSING_QTY, dtlDao.getBase_billdtl_id());
|
||||
param.put("bill_code",mstDao.getBill_code());
|
||||
param.put("inv_id",mstDao.getIostorinv_id());
|
||||
param.put("bill_type_scode",mstDao.getBill_type());
|
||||
iStIvtStructivtCpService.UpdateIvt(param);
|
||||
|
||||
}
|
||||
|
||||
@@ -751,7 +759,11 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
// 2)更新库存
|
||||
StIvtIostorinvdtlCp dtlDao = iostorinvdtlCpService.getById(dao.getIostorinvdtl_id());
|
||||
|
||||
iStIvtStructivtCpService.UpdateIvt(ivtDataParam(dao,ChangeIvtUtil.SUBWAREHOUSING_ADDIVT_QTY,dtlDao.getBase_billdtl_id()));
|
||||
JSONObject param = ivtDataParam(dao, ChangeIvtUtil.SUBWAREHOUSING_ADDIVT_QTY, dtlDao.getBase_billdtl_id());
|
||||
param.put("bill_code",mstDao.getBill_code());
|
||||
param.put("inv_id",mstDao.getIostorinv_id());
|
||||
param.put("bill_type_scode",mstDao.getBill_type());
|
||||
iStIvtStructivtCpService.UpdateIvt(param);
|
||||
|
||||
// 3)解锁终点
|
||||
unLockNext(dao.getStruct_id(),dao.getStoragevehicle_code());
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleinfoService;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbStoragevehicleinfo;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtSectattrService;
|
||||
@@ -89,17 +90,12 @@ public class StIvtMoreorlessdtlCpServiceImpl extends ServiceImpl<StIvtMoreorless
|
||||
row.setStruct_name(structDao.getStruct_name());
|
||||
|
||||
// 获取载具信息
|
||||
MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getOne(
|
||||
new QueryWrapper<MdPbStoragevehicleinfo>().lambda()
|
||||
.eq(MdPbStoragevehicleinfo::getStoragevehicle_code, row.getStoragevehicle_code())
|
||||
.eq(MdPbStoragevehicleinfo::getIs_used, true)
|
||||
);
|
||||
String storagevehicle_code = row.getStoragevehicle_code();
|
||||
if (ObjectUtil.isEmpty(storagevehicle_code)) {
|
||||
storagevehicle_code = CodeUtil.getNewCode("VEHICCLE_CODE_CDMTP");
|
||||
}
|
||||
|
||||
if (ObjectUtil.isEmpty(vehicleDao)) throw new BadRequestException("载具不存在!");
|
||||
|
||||
row.setStoragevehicle_id(vehicleDao.getStoragevehicle_id());
|
||||
row.setStoragevehicle_code(vehicleDao.getStoragevehicle_code());
|
||||
row.setStoragevehicle_type(vehicleDao.getStoragevehicle_type());
|
||||
row.setStoragevehicle_code(storagevehicle_code);
|
||||
row.setStatus(MLEnum.DTL_STATUS.code("生成"));
|
||||
this.save(row);
|
||||
|
||||
|
||||
@@ -181,7 +181,7 @@ public class StIvtMoreorlessmstCpServiceImpl extends ServiceImpl<StIvtMoreorless
|
||||
ivt.setCanuse_qty(NumberUtil.sub(canuse_qty, mol_qty));
|
||||
ivt.setIvt_qty(NumberUtil.sub(ivt_qty, mol_qty));
|
||||
|
||||
// 更新载具扩展属性重量
|
||||
/* // 更新载具扩展属性重量
|
||||
MdPbStoragevehicleext vehicleDao = iMdPbStoragevehicleextService.getOne(
|
||||
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||
.eq(MdPbStoragevehicleext::getStoragevehicle_code, dtl.getStoragevehicle_code())
|
||||
@@ -189,7 +189,7 @@ public class StIvtMoreorlessmstCpServiceImpl extends ServiceImpl<StIvtMoreorless
|
||||
if (ObjectUtil.isNotEmpty(vehicleDao)) {
|
||||
vehicleDao.setStorage_qty(NumberUtil.sub(vehicleDao.getStorage_qty(),mol_qty));
|
||||
iMdPbStoragevehicleextService.updateById(vehicleDao);
|
||||
}
|
||||
}*/
|
||||
|
||||
// 判断是否有箱
|
||||
MdPbBucketrecord buckDao = iMdPbBucketrecordService.getOne(
|
||||
@@ -218,14 +218,14 @@ public class StIvtMoreorlessmstCpServiceImpl extends ServiceImpl<StIvtMoreorless
|
||||
.eq(MdPbBucketrecord::getMaterial_id, dtl.getMaterial_id())
|
||||
);
|
||||
|
||||
// 更新载具扩展属性 - 释放载具对应物料关系 清空数量
|
||||
/* // 更新载具扩展属性 - 释放载具对应物料关系 清空数量
|
||||
iMdPbStoragevehicleextService.update(
|
||||
new MdPbStoragevehicleext()
|
||||
.setMaterial_id("")
|
||||
.setStorage_qty(BigDecimal.valueOf(0)),
|
||||
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||
.eq(MdPbStoragevehicleext::getStoragevehicle_code,dtl.getStoragevehicle_code())
|
||||
);
|
||||
);*/
|
||||
|
||||
// 更新货位 -- 清除载具号
|
||||
structattrService.update(
|
||||
@@ -271,7 +271,7 @@ public class StIvtMoreorlessmstCpServiceImpl extends ServiceImpl<StIvtMoreorless
|
||||
struct_jo.setStoragevehicle_code(dtl.getStoragevehicle_code());
|
||||
structattrService.updateById(struct_jo);
|
||||
|
||||
// 更新载具对应物料关系、数量
|
||||
/* // 更新载具对应物料关系、数量
|
||||
MdPbStoragevehicleext vehicleDao = iMdPbStoragevehicleextService.getOne(
|
||||
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||
.eq(MdPbStoragevehicleext::getStoragevehicle_code, dtl.getStoragevehicle_code())
|
||||
@@ -280,7 +280,7 @@ public class StIvtMoreorlessmstCpServiceImpl extends ServiceImpl<StIvtMoreorless
|
||||
vehicleDao.setStorage_qty(mol_qty);
|
||||
vehicleDao.setMaterial_id(dtl.getMaterial_id());
|
||||
iMdPbStoragevehicleextService.updateById(vehicleDao);
|
||||
}
|
||||
}*/
|
||||
|
||||
// 判断是否有箱
|
||||
if (ObjectUtil.isNotEmpty(dtl.getBucketunique())) {
|
||||
@@ -350,7 +350,7 @@ public class StIvtMoreorlessmstCpServiceImpl extends ServiceImpl<StIvtMoreorless
|
||||
}
|
||||
}
|
||||
|
||||
// 更新载具扩展属性 - 数量
|
||||
/* // 更新载具扩展属性 - 数量
|
||||
MdPbStoragevehicleext vehicleDao = iMdPbStoragevehicleextService.getOne(
|
||||
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||
.eq(MdPbStoragevehicleext::getStoragevehicle_code, dtl.getStoragevehicle_code())
|
||||
@@ -358,7 +358,7 @@ public class StIvtMoreorlessmstCpServiceImpl extends ServiceImpl<StIvtMoreorless
|
||||
if (ObjectUtil.isNotEmpty(vehicleDao)) {
|
||||
vehicleDao.setStorage_qty(NumberUtil.add(vehicleDao.getStorage_qty(), dtl.getMol_qty()));
|
||||
iMdPbStoragevehicleextService.updateById(vehicleDao);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
//更新明细状态
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package org.nl.wms.storage_manage.productmanage.service.structIvt;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStructivtflowCp;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dto.IvtFlowQuery;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -13,4 +15,5 @@ import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStruct
|
||||
*/
|
||||
public interface IStIvtStructivtflowCpService extends IService<StIvtStructivtflowCp> {
|
||||
|
||||
Object queryAll(IvtFlowQuery query, PageQuery page);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
package org.nl.wms.storage_manage.productmanage.service.structIvt.dao.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStructivtflowCp;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dto.IvtFlowQuery;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -13,4 +18,5 @@ import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStruct
|
||||
*/
|
||||
public interface StIvtStructivtflowCpMapper extends BaseMapper<StIvtStructivtflowCp> {
|
||||
|
||||
List<Map> queryAll(@Param("query") IvtFlowQuery query);
|
||||
}
|
||||
|
||||
@@ -2,4 +2,44 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.nl.wms.storage_manage.productmanage.service.structIvt.dao.mapper.StIvtStructivtflowCpMapper">
|
||||
|
||||
<select id="queryAll" resultType="java.util.Map">
|
||||
SELECT
|
||||
ivt.*,
|
||||
mater.material_code,
|
||||
mater.material_name,
|
||||
mater.material_spec,
|
||||
attr.stor_name,
|
||||
attr.stor_name,
|
||||
attr.sect_name,
|
||||
unit.unit_name
|
||||
FROM
|
||||
st_ivt_structivtflow_cp ivt
|
||||
LEFT JOIN md_me_materialbase mater ON mater.material_id = ivt.material_id
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = ivt.struct_id
|
||||
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = ivt.qty_unit_id
|
||||
<where>
|
||||
1 = 1
|
||||
<if test="query.struct_code != null and query.struct_code != ''">
|
||||
and (ivt.struct_code LIKE '%${query.struct_code}%' or
|
||||
ivt.struct_name LIKE '%${query.struct_code}%' )
|
||||
</if>
|
||||
<if test="query.material_code != null and query.material_code != ''">
|
||||
and (mater.material_code LIKE '%${query.material_code}%' or
|
||||
mater.material_name LIKE '%${query.material_code}%' or
|
||||
mater.material_spec LIKE '%${query.material_code}%'
|
||||
)
|
||||
</if>
|
||||
<if test="query.bill_code != null and query.bill_code != ''">
|
||||
and ivt.bill_code LIKE '%${query.bill_code}%'
|
||||
</if>
|
||||
<if test="query.change_type_scode != null and query.change_type_scode != ''">
|
||||
and ivt.change_type_scode = #{query.change_type_scode}
|
||||
</if>
|
||||
<if test="query.stor_id != null and query.stor_id != ''">
|
||||
and ivt.stor_id = #{query.stor_id}
|
||||
</if>
|
||||
</where>
|
||||
order by ivt.change_time desc,ivt.struct_code ASC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package org.nl.wms.storage_manage.productmanage.service.structIvt.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nl.common.domain.query.BaseQuery;
|
||||
import org.nl.common.domain.query.QParam;
|
||||
import org.nl.common.enums.QueryTEnum;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStructivtCp;
|
||||
|
||||
/*
|
||||
* @author LXY
|
||||
* @Date 2023/5/4 19:49
|
||||
*/
|
||||
@Data
|
||||
public class IvtFlowQuery extends BaseQuery<StIvtStructivtCp> {
|
||||
|
||||
|
||||
private String struct_code;
|
||||
|
||||
private String bill_code;
|
||||
|
||||
private String change_type_scode;
|
||||
|
||||
private String material_code;
|
||||
|
||||
private String stor_id;
|
||||
|
||||
@Override
|
||||
public void paramMapping() {
|
||||
super.doP.put("struct_code", QParam.builder().k(new String[]{"struct_code"}).type(QueryTEnum.LK).build());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package org.nl.wms.storage_manage.productmanage.service.structIvt.impl;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -11,6 +12,7 @@ import com.github.pagehelper.PageHelper;
|
||||
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.wms.masterdata_manage.service.material.IMdMeMaterialbaseService;
|
||||
import org.nl.wms.masterdata_manage.service.material.dao.MdMeMaterialbase;
|
||||
@@ -19,7 +21,9 @@ import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbBucketrecord;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.IStIvtStructivtCpService;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.IStIvtStructivtflowCpService;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStructivtCp;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStructivtflowCp;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.mapper.StIvtStructivtCpMapper;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dto.CpIvtQuery;
|
||||
import org.nl.wms.storage_manage.productmanage.util.ChangeIvtUtil;
|
||||
@@ -54,6 +58,9 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl<StIvtStructivtCpMap
|
||||
@Autowired
|
||||
protected IMdPbBucketrecordService iMdPbBucketrecordService; // 包装箱记录表服务
|
||||
|
||||
@Autowired
|
||||
protected IStIvtStructivtflowCpService iStIvtStructivtflowCpService; // 库存变动记录服务
|
||||
|
||||
@Override
|
||||
public Object packageQuery(CpIvtQuery query, PageQuery pageQuery) {
|
||||
Page<Object> page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize());
|
||||
@@ -177,10 +184,30 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl<StIvtStructivtCpMap
|
||||
dao.setUnit_weight(materDao.getNet_weight());
|
||||
this.save(dao);
|
||||
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(dao));
|
||||
param.put("change_type_scode", ChangeIvtUtil.ADDWAREHOUSING_QTY);
|
||||
param.put("change_qty", json.getBigDecimal("change_qty"));
|
||||
param.put("inv_id", json.getString("inv_id"));
|
||||
param.put("bill_type_scode", json.getString("bill_type_scode"));
|
||||
param.put("bill_code", json.getString("bill_code"));
|
||||
param.put("result_qty", 0);
|
||||
insetIvtChange(param);
|
||||
|
||||
} else {
|
||||
// 更新待入数
|
||||
ivtDao.setWarehousing_qty(NumberUtil.add(ivtDao.getWarehousing_qty(),json.getDoubleValue("change_qty")));
|
||||
this.updateById(ivtDao);
|
||||
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivtDao));
|
||||
param.put("change_type_scode", ChangeIvtUtil.ADDWAREHOUSING_QTY);
|
||||
param.put("inv_id", json.getString("inv_id"));
|
||||
param.put("bill_type_scode", json.getString("bill_type_scode"));
|
||||
param.put("bill_code", json.getString("bill_code"));
|
||||
param.put("change_qty", json.getBigDecimal("change_qty"));
|
||||
param.put("result_qty", ivtDao.getIvt_qty());
|
||||
insetIvtChange(param);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -214,6 +241,16 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl<StIvtStructivtCpMap
|
||||
ivtDao.setWarehousing_qty(BigDecimal.valueOf(change_qty));
|
||||
this.updateById(ivtDao);
|
||||
}
|
||||
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivtDao));
|
||||
param.put("change_type_scode", ChangeIvtUtil.SUBWAREHOUSING_QTY);
|
||||
param.put("inv_id", json.getString("inv_id"));
|
||||
param.put("bill_type_scode", json.getString("bill_type_scode"));
|
||||
param.put("bill_code", json.getString("bill_code"));
|
||||
param.put("change_qty", json.getDoubleValue("change_qty"));
|
||||
param.put("result_qty", ivtDao.getIvt_qty());
|
||||
insetIvtChange(param);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -247,6 +284,16 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl<StIvtStructivtCpMap
|
||||
ivtDao.setIvt_qty(ivt_qty);
|
||||
ivtDao.setInstorage_time(DateUtil.now());
|
||||
this.updateById(ivtDao);
|
||||
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivtDao));
|
||||
param.put("change_type_scode", ChangeIvtUtil.SUBWAREHOUSING_ADDIVT_QTY);
|
||||
param.put("inv_id", json.getString("inv_id"));
|
||||
param.put("bill_type_scode", json.getString("bill_type_scode"));
|
||||
param.put("bill_code", json.getString("bill_code"));
|
||||
param.put("change_qty", json.getDoubleValue("change_qty"));
|
||||
param.put("result_qty", ivt_qty);
|
||||
insetIvtChange(param);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -284,6 +331,16 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl<StIvtStructivtCpMap
|
||||
ivtDao.setCanuse_qty(BigDecimal.valueOf(canuse_qty));
|
||||
ivtDao.setFrozen_qty(BigDecimal.valueOf(frozen_qty));
|
||||
this.updateById(ivtDao);
|
||||
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivtDao));
|
||||
param.put("change_type_scode", ChangeIvtUtil.ADDFROZEN_SUBIVT_QTY);
|
||||
param.put("inv_id", json.getString("inv_id"));
|
||||
param.put("bill_type_scode", json.getString("bill_type_scode"));
|
||||
param.put("bill_code", json.getString("bill_code"));
|
||||
param.put("change_qty", json.getBigDecimal("change_qty"));
|
||||
param.put("result_qty", ivtDao.getIvt_qty());
|
||||
insetIvtChange(param);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -321,6 +378,15 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl<StIvtStructivtCpMap
|
||||
ivtDao.setFrozen_qty(BigDecimal.valueOf(frozen_qty));
|
||||
this.updateById(ivtDao);
|
||||
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivtDao));
|
||||
param.put("change_type_scode", ChangeIvtUtil.SUBFROZEN_ADDIVT_QTY);
|
||||
param.put("inv_id", json.getString("inv_id"));
|
||||
param.put("bill_type_scode", json.getString("bill_type_scode"));
|
||||
param.put("bill_code", json.getString("bill_code"));
|
||||
param.put("change_qty", json.getBigDecimal("change_qty"));
|
||||
param.put("result_qty", ivtDao.getIvt_qty());
|
||||
insetIvtChange(param);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -362,6 +428,16 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl<StIvtStructivtCpMap
|
||||
ivtDao.setIvt_qty(BigDecimal.valueOf(ivt_qty));
|
||||
this.updateById(ivtDao);
|
||||
}
|
||||
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivtDao));
|
||||
param.put("change_type_scode", ChangeIvtUtil.SUBFROZEN_SUBIVT_QTY);
|
||||
param.put("inv_id", json.getString("inv_id"));
|
||||
param.put("bill_type_scode", json.getString("bill_type_scode"));
|
||||
param.put("bill_code", json.getString("bill_code"));
|
||||
param.put("change_qty", json.getBigDecimal("change_qty"));
|
||||
param.put("result_qty", ivt_qty);
|
||||
insetIvtChange(param);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -389,5 +465,46 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl<StIvtStructivtCpMap
|
||||
|
||||
if (ObjectUtil.isEmpty(json.getString("change_type")))
|
||||
throw new BadRequestException("更新库存失败:变动类型不能为空!");
|
||||
|
||||
if (ObjectUtil.isEmpty(json.getString("bill_code")))
|
||||
throw new BadRequestException("更新库存失败:单据号不能为空!");
|
||||
|
||||
if (ObjectUtil.isEmpty(json.getString("bill_type_scode")))
|
||||
throw new BadRequestException("更新库存失败:单据类型不能为空!");
|
||||
|
||||
if (ObjectUtil.isEmpty(json.getString("inv_id")))
|
||||
throw new BadRequestException("更新库存失败:单据标识不能为空!");
|
||||
}
|
||||
|
||||
/*
|
||||
插入库存变动记录
|
||||
*/
|
||||
private void insetIvtChange(JSONObject json) {
|
||||
|
||||
StIvtStructattr ivtDao = iStIvtStructattrService.getById(json.getString("struct_id"));
|
||||
|
||||
StIvtStructivtflowCp dao = new StIvtStructivtflowCp();
|
||||
dao.setChange_id(IdUtil.getStringId());
|
||||
dao.setStruct_id(json.getString("struct_id"));
|
||||
dao.setStruct_code(json.getString("struct_code"));
|
||||
dao.setStruct_name(json.getString("struct_name"));
|
||||
dao.setMaterial_id(json.getString("material_id"));
|
||||
dao.setQuality_scode(json.getString("quality_scode"));
|
||||
dao.setIvt_level(json.getString("ivt_level"));
|
||||
dao.setIs_active(json.getBoolean("is_active"));
|
||||
dao.setPcsn(json.getString("pcsn"));
|
||||
dao.setStor_id(ivtDao.getStor_id());
|
||||
dao.setChange_type_scode(json.getString("change_type_scode"));
|
||||
dao.setChange_time(DateUtil.now());
|
||||
dao.setChange_person_id(SecurityUtils.getCurrentUserId());
|
||||
dao.setChange_person_name(SecurityUtils.getCurrentNickName());
|
||||
dao.setChange_qty(json.getBigDecimal("change_qty"));
|
||||
dao.setResult_qty(json.getBigDecimal("result_qty"));
|
||||
dao.setQty_unit_id(json.getString("qty_unit_id"));
|
||||
dao.setProduct_area(json.getString("product_area"));
|
||||
dao.setBill_code(json.getString("bill_code"));
|
||||
dao.setBill_type_scode(json.getString("bill_type_scode"));
|
||||
dao.setInv_id(json.getString("inv_id"));
|
||||
iStIvtStructivtflowCpService.save(dao);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
package org.nl.wms.storage_manage.productmanage.service.structIvt.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.IStIvtStructivtflowCpService;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStructivtflowCp;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.mapper.StIvtStructivtflowCpMapper;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dto.IvtFlowQuery;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
@@ -17,4 +22,11 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class StIvtStructivtflowCpServiceImpl extends ServiceImpl<StIvtStructivtflowCpMapper, StIvtStructivtflowCp> implements IStIvtStructivtflowCpService {
|
||||
|
||||
@Override
|
||||
public Object queryAll(IvtFlowQuery query, PageQuery pageQuery) {
|
||||
Page<Object> page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize());
|
||||
TableDataInfo build = TableDataInfo.build(this.baseMapper.queryAll(query));
|
||||
build.setTotalElements(page.getTotal());
|
||||
return build;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ public class StIvtIostorinvYlOutController {
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@PostMapping("/delete")
|
||||
@DeleteMapping
|
||||
@Log("删除入库单")
|
||||
@ApiOperation("删除入库单")
|
||||
public ResponseEntity<Object> delete(@RequestBody Long[] ids){
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
package org.nl.wms.storage_manage.rawmanage.controller.structIvt;
|
||||
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nl.common.anno.Log;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dto.IvtFlowQuery;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.structIvt.IStIvtStructivtflowYlService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
@@ -14,8 +22,18 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
* @since 2023-05-10
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/stIvtStructivtflowYl")
|
||||
@RequestMapping("/api/stIvtStructivtflowYl")
|
||||
public class StIvtStructivtflowYlController {
|
||||
|
||||
@Autowired
|
||||
private IStIvtStructivtflowYlService iStIvtStructivtflowYlService;
|
||||
|
||||
@GetMapping
|
||||
@Log("查询库存变动记录")
|
||||
@ApiOperation("查询库存变动记录")
|
||||
public ResponseEntity<Object> query(IvtFlowQuery query, PageQuery page) {
|
||||
return new ResponseEntity<>(iStIvtStructivtflowYlService.queryAll(query,page), HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<mapper namespace="org.nl.wms.storage_manage.rawmanage.service.iostorInv.dao.mapper.StIvtIostorinvOutYlMapper">
|
||||
|
||||
<select id="getMstDetail" resultType="java.util.Map">
|
||||
SELECT DISTINCT
|
||||
SELECT
|
||||
mst.iostorinv_id,
|
||||
mst.bill_code,
|
||||
mst.io_type,
|
||||
@@ -56,6 +56,8 @@
|
||||
</if>
|
||||
</where>
|
||||
|
||||
order by mst.create_time DESC
|
||||
|
||||
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<mapper namespace="org.nl.wms.storage_manage.rawmanage.service.iostorInv.dao.mapper.StIvtIostorinvYlMapper">
|
||||
|
||||
<select id="getMstDetail" resultType="java.util.Map">
|
||||
SELECT DISTINCT
|
||||
SELECT
|
||||
mst.iostorinv_id,
|
||||
mst.bill_code,
|
||||
mst.io_type,
|
||||
@@ -59,6 +59,7 @@
|
||||
</if>
|
||||
</where>
|
||||
|
||||
order by mst.create_time DESC
|
||||
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstora
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
|
||||
import org.nl.wms.storage_manage.IOSEnum;
|
||||
import org.nl.wms.storage_manage.basedata.service.record.service.IStIvtStructivtflowService;
|
||||
import org.nl.wms.storage_manage.productmanage.util.ChangeIvtUtil;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.iostorInv.IStIvtIostorinvOutYlService;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.iostorInv.IStIvtIostorinvdisYlService;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.iostorInv.IStIvtIostorinvdtlYlService;
|
||||
@@ -36,6 +37,7 @@ import org.nl.wms.storage_manage.rawmanage.service.iostorInv.dao.mapper.StIvtIos
|
||||
import org.nl.wms.storage_manage.rawmanage.service.iostorInv.dao.mapper.StIvtIostorinvYlMapper;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.iostorInv.dto.YlIostorInvQuery;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.structIvt.IStIvtStructivtYlService;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.structIvt.IStIvtStructivtflowYlService;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.structIvt.dao.StIvtStructivtYl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -74,6 +76,9 @@ public class StIvtIostorinvOutYlServiceImpl extends ServiceImpl<StIvtIostorinvOu
|
||||
@Autowired
|
||||
private IStIvtStructattrService structattrService;
|
||||
|
||||
@Autowired
|
||||
private IStIvtStructivtflowYlService iStIvtStructivtflowYlService;
|
||||
|
||||
|
||||
@Override
|
||||
public Object pageQuery(YlIostorInvQuery query, PageQuery pageQuery) {
|
||||
@@ -138,6 +143,14 @@ public class StIvtIostorinvOutYlServiceImpl extends ServiceImpl<StIvtIostorinvOu
|
||||
String iostorinv_id = form.getString("iostorinv_id");
|
||||
|
||||
StIvtIostorinvYl mst = this.getById(iostorinv_id);
|
||||
mst.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
|
||||
mst.setDis_id(SecurityUtils.getCurrentUserId());
|
||||
mst.setDis_name(SecurityUtils.getCurrentNickName());
|
||||
mst.setDis_time(DateUtil.now());
|
||||
mst.setConfirm_id(SecurityUtils.getCurrentUserId());
|
||||
mst.setConfirm_name(SecurityUtils.getCurrentNickName());
|
||||
mst.setConfirm_time(DateUtil.now());
|
||||
this.updateById(mst);
|
||||
|
||||
List<StIvtIostorinvdtlYl> dtl_list = iostorinvdtlYlService.list(new QueryWrapper<StIvtIostorinvdtlYl>().eq("iostorinv_id", iostorinv_id));
|
||||
|
||||
@@ -187,12 +200,32 @@ public class StIvtIostorinvOutYlServiceImpl extends ServiceImpl<StIvtIostorinvOu
|
||||
ivt.setIvt_qty(BigDecimal.valueOf(sub));
|
||||
structivtYlService.updateById(ivt);
|
||||
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivt));
|
||||
param.put("change_type", ChangeIvtUtil.SUBFROZEN_SUBIVT_QTY);
|
||||
param.put("change_qty",need_qty);
|
||||
param.put("result_qty", sub);
|
||||
param.put("bill_code",mst.getBill_code());
|
||||
param.put("inv_id",mst.getIostorinv_id());
|
||||
param.put("bill_type_scode",mst.getBill_type());
|
||||
iStIvtStructivtflowYlService.insetIvtChange(param);
|
||||
|
||||
need_qty = 0;
|
||||
} else {
|
||||
dis.put("plan_qty", canuse_qty);
|
||||
dis.put("real_qty", canuse_qty);
|
||||
structivtYlService.remove(new QueryWrapper<StIvtStructivtYl>().eq("stockrecord_id", ivt.getStockrecord_id()));
|
||||
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivt));
|
||||
param.put("change_type", ChangeIvtUtil.SUBFROZEN_SUBIVT_QTY);
|
||||
param.put("change_qty",need_qty);
|
||||
param.put("result_qty", 0);
|
||||
param.put("bill_code",mst.getBill_code());
|
||||
param.put("inv_id",mst.getIostorinv_id());
|
||||
param.put("bill_type_scode",mst.getBill_type());
|
||||
iStIvtStructivtflowYlService.insetIvtChange(param);
|
||||
|
||||
need_qty = NumberUtil.sub(need_qty - canuse_qty).doubleValue();
|
||||
}
|
||||
JSONObject mst_jo = new JSONObject();
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.nl.wms.storage_manage.rawmanage.service.iostorInv.impl;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -22,6 +23,7 @@ import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstora
|
||||
import org.nl.wms.pcs_manage.service.purchase.IPcsIfPurchaseorderService;
|
||||
import org.nl.wms.storage_manage.IOSEnum;
|
||||
import org.nl.wms.storage_manage.basedata.service.record.service.IStIvtStructivtflowService;
|
||||
import org.nl.wms.storage_manage.productmanage.util.ChangeIvtUtil;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.iostorInv.IStIvtIostorinvYlService;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.iostorInv.IStIvtIostorinvdisYlService;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.iostorInv.IStIvtIostorinvdtlYlService;
|
||||
@@ -31,6 +33,7 @@ import org.nl.wms.storage_manage.rawmanage.service.iostorInv.dao.StIvtIostorinvd
|
||||
import org.nl.wms.storage_manage.rawmanage.service.iostorInv.dao.mapper.StIvtIostorinvYlMapper;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.iostorInv.dto.YlIostorInvQuery;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.structIvt.IStIvtStructivtYlService;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.structIvt.IStIvtStructivtflowYlService;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.structIvt.dao.StIvtStructivtYl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -65,6 +68,9 @@ public class StIvtIostorinvYlServiceImpl extends ServiceImpl<StIvtIostorinvYlMap
|
||||
@Autowired
|
||||
private IPcsIfPurchaseorderService purchaseorderService;
|
||||
|
||||
@Autowired
|
||||
private IStIvtStructivtflowYlService iStIvtStructivtflowYlService;
|
||||
|
||||
|
||||
@Override
|
||||
public Object pageQuery(YlIostorInvQuery query, PageQuery pageQuery) {
|
||||
@@ -155,8 +161,18 @@ public class StIvtIostorinvYlServiceImpl extends ServiceImpl<StIvtIostorinvYlMap
|
||||
structivtYl.setCanuse_qty(NumberUtil.add(structivtYl.getCanuse_qty(), dis.getPlan_qty()));
|
||||
structivtYl.setIvt_qty(structivtYl.getCanuse_qty());
|
||||
structivtYlService.updateById(structivtYl);
|
||||
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(structivtYl));
|
||||
param.put("change_type", ChangeIvtUtil.SUBWAREHOUSING_ADDIVT_QTY);
|
||||
param.put("change_qty",dis.getPlan_qty());
|
||||
param.put("result_qty", structivtYl.getCanuse_qty());
|
||||
param.put("bill_code",mst.getBill_code());
|
||||
param.put("inv_id",mst.getIostorinv_id());
|
||||
param.put("bill_type_scode",mst.getBill_type());
|
||||
iStIvtStructivtflowYlService.insetIvtChange(param);
|
||||
} else {
|
||||
structivtYlService.save(StIvtStructivtYl.builder()
|
||||
StIvtStructivtYl ivtDao = StIvtStructivtYl.builder()
|
||||
.stockrecord_id(IdUtil.getStringId())
|
||||
.struct_id(dis.getStruct_id())
|
||||
.struct_code(dis.getStruct_code())
|
||||
@@ -172,8 +188,18 @@ public class StIvtIostorinvYlServiceImpl extends ServiceImpl<StIvtIostorinvYlMap
|
||||
.instorage_time(DateUtil.now())
|
||||
.stor_id(mst.getStor_id())
|
||||
.workshop_id(mst.getWorkshop_id())
|
||||
.build()
|
||||
);
|
||||
.build();
|
||||
structivtYlService.save(ivtDao);
|
||||
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivtDao));
|
||||
param.put("change_type", ChangeIvtUtil.SUBWAREHOUSING_ADDIVT_QTY);
|
||||
param.put("change_qty",dis.getPlan_qty());
|
||||
param.put("result_qty", dis.getPlan_qty());
|
||||
param.put("bill_code",mst.getBill_code());
|
||||
param.put("inv_id",mst.getIostorinv_id());
|
||||
param.put("bill_type_scode",mst.getBill_type());
|
||||
iStIvtStructivtflowYlService.insetIvtChange(param);
|
||||
}
|
||||
|
||||
/*//修改库存和插入库存变动记录表
|
||||
@@ -207,6 +233,9 @@ public class StIvtIostorinvYlServiceImpl extends ServiceImpl<StIvtIostorinvYlMap
|
||||
mst.setConfirm_id(SecurityUtils.getCurrentUserId());
|
||||
mst.setConfirm_name(SecurityUtils.getCurrentNickName());
|
||||
mst.setConfirm_time(DateUtil.now());
|
||||
mst.setDis_id(SecurityUtils.getCurrentUserId());
|
||||
mst.setDis_name(SecurityUtils.getCurrentNickName());
|
||||
mst.setDis_time(DateUtil.now());
|
||||
mst.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
|
||||
this.updateById(mst);
|
||||
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
package org.nl.wms.storage_manage.rawmanage.service.structIvt;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dto.IvtFlowQuery;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.structIvt.dao.StIvtStructivtflowYl;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
@@ -13,4 +16,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
*/
|
||||
public interface IStIvtStructivtflowYlService extends IService<StIvtStructivtflowYl> {
|
||||
|
||||
void insetIvtChange(JSONObject json);
|
||||
|
||||
Object queryAll(IvtFlowQuery query, PageQuery page);
|
||||
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ public class StIvtStructivtflowYl implements Serializable {
|
||||
/**
|
||||
* 变动时间
|
||||
*/
|
||||
private Date change_time;
|
||||
private String change_time;
|
||||
|
||||
/**
|
||||
* 变动人
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
package org.nl.wms.storage_manage.rawmanage.service.structIvt.dao.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dto.IvtFlowQuery;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.structIvt.dao.StIvtStructivtflowYl;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 仓位库存变动记录表 Mapper 接口
|
||||
@@ -13,4 +18,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
*/
|
||||
public interface StIvtStructivtflowYlMapper extends BaseMapper<StIvtStructivtflowYl> {
|
||||
|
||||
List<Map> queryAll(@Param("query") IvtFlowQuery query);
|
||||
}
|
||||
|
||||
@@ -2,4 +2,43 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.nl.wms.storage_manage.rawmanage.service.structIvt.dao.mapper.StIvtStructivtflowYlMapper">
|
||||
|
||||
<select id="queryAll" resultType="java.util.Map">
|
||||
SELECT
|
||||
ivt.*,
|
||||
mater.material_code,
|
||||
mater.material_name,
|
||||
mater.material_spec,
|
||||
attr.stor_name,
|
||||
attr.stor_name,
|
||||
attr.sect_name,
|
||||
unit.unit_name
|
||||
FROM
|
||||
st_ivt_structivtflow_yl ivt
|
||||
LEFT JOIN md_me_materialbase mater ON mater.material_id = ivt.material_id
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = ivt.struct_id
|
||||
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = ivt.qty_unit_id
|
||||
<where>
|
||||
1 = 1
|
||||
<if test="query.struct_code != null and query.struct_code != ''">
|
||||
and (ivt.struct_code LIKE '%${query.struct_code}%' or
|
||||
ivt.struct_name LIKE '%${query.struct_code}%' )
|
||||
</if>
|
||||
<if test="query.material_code != null and query.material_code != ''">
|
||||
and (mater.material_code LIKE '%${query.material_code}%' or
|
||||
mater.material_name LIKE '%${query.material_code}%' or
|
||||
mater.material_spec LIKE '%${query.material_code}%'
|
||||
)
|
||||
</if>
|
||||
<if test="query.bill_code != null and query.bill_code != ''">
|
||||
and ivt.bill_code LIKE '%${query.bill_code}%'
|
||||
</if>
|
||||
<if test="query.change_type_scode != null and query.change_type_scode != ''">
|
||||
and ivt.change_type_scode = #{query.change_type_scode}
|
||||
</if>
|
||||
<if test="query.stor_id != null and query.stor_id != ''">
|
||||
and ivt.stor_id = #{query.stor_id}
|
||||
</if>
|
||||
</where>
|
||||
order by ivt.change_time desc,ivt.struct_code ASC
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -1,9 +1,22 @@
|
||||
package org.nl.wms.storage_manage.rawmanage.service.structIvt.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
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.storage.service.storage.IStIvtStructattrService;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
|
||||
import org.nl.wms.storage_manage.basedata.service.record.dao.StIvtStructivtflow;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dto.IvtFlowQuery;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.structIvt.dao.StIvtStructivtflowYl;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.structIvt.dao.mapper.StIvtStructivtflowYlMapper;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.structIvt.IStIvtStructivtflowYlService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
@@ -17,4 +30,44 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class StIvtStructivtflowYlServiceImpl extends ServiceImpl<StIvtStructivtflowYlMapper, StIvtStructivtflowYl> implements IStIvtStructivtflowYlService {
|
||||
|
||||
@Autowired
|
||||
protected IStIvtStructattrService iStIvtStructattrService; // 仓位属性服务
|
||||
|
||||
@Override
|
||||
public void insetIvtChange(JSONObject json) {
|
||||
|
||||
StIvtStructattr ivtDao = iStIvtStructattrService.getById(json.getString("struct_id"));
|
||||
|
||||
StIvtStructivtflowYl dao = new StIvtStructivtflowYl();
|
||||
dao.setChange_id(IdUtil.getStringId());
|
||||
dao.setStruct_id(json.getString("struct_id"));
|
||||
dao.setStruct_code(json.getString("struct_code"));
|
||||
dao.setStruct_name(json.getString("struct_name"));
|
||||
dao.setMaterial_id(json.getString("material_id"));
|
||||
dao.setQuality_scode(json.getString("quality_scode"));
|
||||
dao.setIvt_level(json.getString("ivt_level"));
|
||||
dao.setIs_active(json.getBoolean("is_active"));
|
||||
dao.setPcsn(json.getString("pcsn"));
|
||||
dao.setStor_id(ivtDao.getStor_id());
|
||||
dao.setChange_type_scode(json.getString("change_type"));
|
||||
dao.setChange_time(DateUtil.now());
|
||||
dao.setChange_person_id(SecurityUtils.getCurrentUserId());
|
||||
dao.setChange_person_name(SecurityUtils.getCurrentNickName());
|
||||
dao.setChange_qty(json.getBigDecimal("change_qty"));
|
||||
dao.setResult_qty(json.getBigDecimal("result_qty"));
|
||||
dao.setQty_unit_id(json.getString("qty_unit_id"));
|
||||
dao.setProduct_area(json.getString("workshop_id"));
|
||||
dao.setBill_code(json.getString("bill_code"));
|
||||
dao.setBill_type_scode(json.getString("bill_type_scode"));
|
||||
dao.setInv_id(json.getString("inv_id"));
|
||||
this.save(dao);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object queryAll(IvtFlowQuery query, PageQuery pageQuery) {
|
||||
Page<Object> page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize());
|
||||
TableDataInfo build = TableDataInfo.build(this.baseMapper.queryAll(query));
|
||||
build.setTotalElements(page.getTotal());
|
||||
return build;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.nl.wms.storage_manage.semimanage.controller.iostorInv;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -10,6 +11,8 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.anno.Log;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleextService;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbStoragevehicleext;
|
||||
import org.nl.wms.storage_manage.semimanage.service.iostorInv.IStIvtIostorinvBcpService;
|
||||
import org.nl.wms.storage_manage.semimanage.service.iostorInv.dao.StIvtIostorinvBcp;
|
||||
import org.nl.wms.storage_manage.semimanage.service.iostorInv.dto.BcpIostorInvQuery;
|
||||
@@ -18,6 +21,7 @@ import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -39,6 +43,9 @@ public class StIvtIostorinvBcpController {
|
||||
@Autowired
|
||||
private IStIvtIostorinvBcpService stIvtIostorinvBcpService;
|
||||
|
||||
@Autowired
|
||||
private IMdPbStoragevehicleextService iMdPbStoragevehicleextService; // 载具扩展属性信息表服务
|
||||
|
||||
@GetMapping
|
||||
@Log("查询入库单据")
|
||||
@ApiOperation("查询入库单据")
|
||||
@@ -62,6 +69,17 @@ public class StIvtIostorinvBcpController {
|
||||
stIvtIostorinvBcpService.update(new UpdateWrapper<StIvtIostorinvBcp>()
|
||||
.set("is_delete","1")
|
||||
.in("iostorinv_id",ids));
|
||||
|
||||
StIvtIostorinvBcp mst = stIvtIostorinvBcpService.getById(ids);
|
||||
|
||||
// 更新载具扩展属性 - 释放载具对应物料关系 清空数量
|
||||
iMdPbStoragevehicleextService.update(
|
||||
new MdPbStoragevehicleext()
|
||||
.setMaterial_id("")
|
||||
.setStorage_qty(BigDecimal.valueOf(0)),
|
||||
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||
.eq(MdPbStoragevehicleext::getStoragevehicle_code,mst.getStoragevehicle_code())
|
||||
);
|
||||
}
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@@ -385,6 +385,7 @@ public class StIvtCheckmstBcpServiceImpl extends ServiceImpl<StIvtCheckmstBcpMap
|
||||
dtl_jo.put("source_bill_type", jo_mst.getCheck_type());
|
||||
dtl_jo.put("source_bill_code", jo_mst.getCheck_code());
|
||||
dtl_jo.put("source_bill_table", "ST_IVT_CheckMst_YL");
|
||||
dtl_jo.put("storagevehicle_code", dtl.getStoragevehicle_code());
|
||||
JSONArray mol_rows = new JSONArray();
|
||||
mol_rows.add(dtl_jo);
|
||||
mol_jo.put("tableData", mol_rows);
|
||||
|
||||
@@ -27,6 +27,8 @@ import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||
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.vehicle.IMdPbStoragevehicleextService;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbStoragevehicleext;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtBsrealstorattrService;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtSectattrService;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService;
|
||||
@@ -40,6 +42,7 @@ import org.nl.wms.storage_manage.CHANGE_BILL_TYPE_ENUM;
|
||||
import org.nl.wms.storage_manage.IOSEnum;
|
||||
import org.nl.wms.storage_manage.basedata.service.record.service.IStIvtStructivtflowService;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStructivtCp;
|
||||
import org.nl.wms.storage_manage.productmanage.util.ChangeIvtUtil;
|
||||
import org.nl.wms.storage_manage.productmanage.util.DivRuleCpService;
|
||||
import org.nl.wms.storage_manage.productmanage.util.RuleUtil;
|
||||
import org.nl.wms.storage_manage.semimanage.service.iostorInv.IStIvtIostorinvBcpOutService;
|
||||
@@ -52,6 +55,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Consumer;
|
||||
@@ -83,7 +87,10 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl<StIvtIostorinvB
|
||||
private ISchBaseTaskService iSchBaseTaskService; // 任务表服务
|
||||
@Autowired
|
||||
private IMdMeMaterialbaseService materialbaseService;
|
||||
|
||||
@Autowired
|
||||
private IStIvtStructivtflowService iStIvtStructivtflowService; // 库存变动服务
|
||||
@Autowired
|
||||
protected IMdPbStoragevehicleextService iMdPbStoragevehicleextService; // 载具扩展属性信息表服务
|
||||
|
||||
@Override
|
||||
public Object queryDtl(BcpIostorInvQuery query, PageQuery pageQuery) {
|
||||
@@ -181,9 +188,20 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl<StIvtIostorinvB
|
||||
mst.setUpdate_name(SecurityUtils.getCurrentNickName());
|
||||
this.updateById(mst);
|
||||
|
||||
StIvtStructivtBcp ivtDao = structivtBcpService.getById(mst.getStruct_id());
|
||||
//删除库存
|
||||
structivtBcpService.remove(new QueryWrapper<StIvtStructivtBcp>().eq("struct_id", mst.getStruct_id()));
|
||||
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivtDao));
|
||||
param.put("change_type", ChangeIvtUtil.SUBFROZEN_SUBIVT_QTY);
|
||||
param.put("change_qty", ivtDao.getCanuse_qty());
|
||||
param.put("result_qty", 0);
|
||||
param.put("bill_code",mst.getBill_code());
|
||||
param.put("inv_id",mst.getIostorinv_id());
|
||||
param.put("bill_type_scode",mst.getBill_type());
|
||||
iStIvtStructivtflowService.insetIvtChange(param);
|
||||
|
||||
/*structivtflowService.recordStructivtFlow(
|
||||
StIvtStructivtflowDto.builder()
|
||||
.bill_code(mst.getBill_code()).change_type_scode(CHANGE_BILL_TYPE_ENUM.IOSTORINV_IN_CONFIRM).bill_table("st_ivt_iostorinv_bcp")
|
||||
@@ -208,6 +226,15 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl<StIvtIostorinvB
|
||||
.eq(SchBaseTask::getTask_id, mst.getTask_id())
|
||||
);
|
||||
|
||||
// 更新载具扩展属性 - 释放载具对应物料关系 清空数量
|
||||
iMdPbStoragevehicleextService.update(
|
||||
new MdPbStoragevehicleext()
|
||||
.setMaterial_id("")
|
||||
.setStorage_qty(BigDecimal.valueOf(0)),
|
||||
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||
.eq(MdPbStoragevehicleext::getStoragevehicle_code,mst.getStoragevehicle_code())
|
||||
);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,10 @@ import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleextService;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleinfoService;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbStoragevehicleext;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbStoragevehicleinfo;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtSectattrService;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtSectattr;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
|
||||
@@ -38,6 +42,7 @@ import org.nl.wms.storage_manage.basedata.service.record.service.IStIvtStructivt
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtBsrealstorattrService;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstorattr;
|
||||
import org.nl.wms.storage_manage.productmanage.util.ChangeIvtUtil;
|
||||
import org.nl.wms.storage_manage.productmanage.util.DivRuleCpService;
|
||||
import org.nl.wms.storage_manage.productmanage.util.RuleUtil;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.structIvt.dao.StIvtStructivtYl;
|
||||
@@ -83,7 +88,12 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl<StIvtIostorinvBcpM
|
||||
private IStIvtSectattrService sectattrService;
|
||||
@Autowired
|
||||
private ISchBaseTaskService iSchBaseTaskService; // 任务表服务
|
||||
|
||||
@Autowired
|
||||
private IStIvtStructivtflowService iStIvtStructivtflowService; // 库存变动服务
|
||||
@Autowired
|
||||
protected IMdPbStoragevehicleinfoService iMdPbStoragevehicleinfoService; // 载具信息
|
||||
@Autowired
|
||||
protected IMdPbStoragevehicleextService iMdPbStoragevehicleextService; // 载具扩展属性信息表服务
|
||||
|
||||
@Override
|
||||
public Object queryDtl(BcpIostorInvQuery query, PageQuery pageQuery) {
|
||||
@@ -137,8 +147,29 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl<StIvtIostorinvBcpM
|
||||
mst.setBase_bill_code(row.getString("base_bill_code"));
|
||||
mst.setQty_unit_name(row.getString("base_unit_name"));
|
||||
mst.setUnit_weight(row.getBigDecimal("unit_weight"));
|
||||
mst.setStoragevehicle_code(row.getString("storagevehicle_code"));
|
||||
mst.setStoragevehicle_id(row.getString("storagevehicle_id"));
|
||||
// 载具信息
|
||||
{
|
||||
MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getOne(
|
||||
new QueryWrapper<MdPbStoragevehicleinfo>().lambda()
|
||||
.eq(MdPbStoragevehicleinfo::getStoragevehicle_code, row.getString("storagevehicle_code"))
|
||||
);
|
||||
|
||||
if (ObjectUtil.isEmpty(vehicleDao)) throw new BadRequestException("载具不存在!");
|
||||
|
||||
mst.setStoragevehicle_code(vehicleDao.getStoragevehicle_code());
|
||||
mst.setStoragevehicle_id(vehicleDao.getStoragevehicle_id());
|
||||
|
||||
// 更新载具对应物料关系、数量
|
||||
MdPbStoragevehicleext vehicleExtDao = iMdPbStoragevehicleextService.getOne(
|
||||
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||
.eq(MdPbStoragevehicleext::getStoragevehicle_code, row.getString("storagevehicle_code"))
|
||||
);
|
||||
if (ObjectUtil.isNotEmpty(vehicleDao)) {
|
||||
vehicleExtDao.setStorage_qty(mst.getPlan_qty());
|
||||
vehicleExtDao.setMaterial_id(mst.getMaterial_id());
|
||||
iMdPbStoragevehicleextService.updateById(vehicleExtDao);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -158,7 +189,7 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl<StIvtIostorinvBcpM
|
||||
this.updateById(mst);
|
||||
|
||||
//新增库存
|
||||
structivtBcpService.save(StIvtStructivtBcp.builder()
|
||||
StIvtStructivtBcp ivtDao = StIvtStructivtBcp.builder()
|
||||
.struct_id(mst.getStruct_id())
|
||||
.struct_code(mst.getStruct_code())
|
||||
.struct_name(mst.getStruct_name())
|
||||
@@ -173,8 +204,18 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl<StIvtIostorinvBcpM
|
||||
.canuse_qty(mst.getPlan_qty())
|
||||
.workshop_id(mst.getWorkshop_id())
|
||||
.unit_weight(mst.getUnit_weight())
|
||||
.build()
|
||||
);
|
||||
.build();
|
||||
structivtBcpService.save(ivtDao);
|
||||
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivtDao));
|
||||
param.put("change_type", ChangeIvtUtil.SUBWAREHOUSING_ADDIVT_QTY);
|
||||
param.put("change_qty", ivtDao.getCanuse_qty());
|
||||
param.put("result_qty", ivtDao.getCanuse_qty());
|
||||
param.put("bill_code",mst.getBill_code());
|
||||
param.put("inv_id",mst.getIostorinv_id());
|
||||
param.put("bill_type_scode",mst.getBill_type());
|
||||
iStIvtStructivtflowService.insetIvtChange(param);
|
||||
|
||||
//维护载具
|
||||
structattrService.update(new UpdateWrapper<StIvtStructattr>().lambda()
|
||||
|
||||
@@ -122,6 +122,7 @@
|
||||
attr.struct_name,
|
||||
attr.sect_code,
|
||||
attr.sect_name,
|
||||
attr.stor_name,
|
||||
attr.storagevehicle_code
|
||||
FROM
|
||||
st_ivt_structivt_bcp ivt
|
||||
|
||||
@@ -19,7 +19,7 @@ https://juejin.cn/post/6844903775631572999
|
||||
<!--引入默认的一些设置-->
|
||||
<!-- <include resource="log/AutoCreateInst.xml"/>-->
|
||||
<appender name="esLogAppender" class="com.internetitem.logback.elasticsearch.ElasticsearchAppender">
|
||||
<url>http://192.168.46.225:9200/_bulk</url>
|
||||
<url>http://127.0.0.1:9200/_bulk</url>
|
||||
<index>${esIndex}</index>
|
||||
<type>mes_log</type>
|
||||
<loggerName>es-logger</loggerName> <!-- optional -->
|
||||
@@ -79,10 +79,8 @@ https://juejin.cn/post/6844903775631572999
|
||||
</appender>
|
||||
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<withJansi>true</withJansi>
|
||||
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
|
||||
<encoder>
|
||||
<pattern>${log.pattern}</pattern>
|
||||
<!-- <charset>${log.charset}</charset>-->
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
@@ -100,15 +98,14 @@ https://juejin.cn/post/6844903775631572999
|
||||
<!--所有日志最多占多大容量-->
|
||||
<totalSizeCap>20GB</totalSizeCap>
|
||||
</rollingPolicy>
|
||||
<!-- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">-->
|
||||
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!--异步到文件-->
|
||||
<appender name="asyncFileAppender" class="com.yomahub.tlog.core.enhance.logback.async.AspectLogbackAsyncAppender">
|
||||
<appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
|
||||
<discardingThreshold>0</discardingThreshold>
|
||||
<queueSize>500</queueSize>
|
||||
<appender-ref ref="FILE"/>
|
||||
@@ -120,7 +117,6 @@ https://juejin.cn/post/6844903775631572999
|
||||
<springProfile name="dev">
|
||||
<root level="debug">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="esLogAppender"/>
|
||||
</root>
|
||||
|
||||
<logger name="jdbc.audit" level="ERROR" additivity="false">
|
||||
@@ -129,6 +125,10 @@ https://juejin.cn/post/6844903775631572999
|
||||
<logger name="jdbc.resultset" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="es-logger" level="warn" additivity="false">
|
||||
<appender-ref ref="esLogAppender"/>
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="springfox.documentation" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
@@ -168,6 +168,10 @@ https://juejin.cn/post/6844903775631572999
|
||||
<logger name="jdbc.sqltiming" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="es-logger" level="warn" additivity="false">
|
||||
<appender-ref ref="esLogAppender"/>
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.jinterop" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
@@ -177,26 +181,36 @@ https://juejin.cn/post/6844903775631572999
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="esLogAppender"/>
|
||||
</root>
|
||||
<logger name="es-logger" level="warn" additivity="false">
|
||||
<appender-ref ref="esLogAppender"/>
|
||||
</logger>
|
||||
<logger name="jdbc.audit" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="esLogAppender"/>
|
||||
</logger>
|
||||
<logger name="jdbc.resultset" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="esLogAppender"/>
|
||||
</logger>
|
||||
<logger name="springfox.documentation" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="esLogAppender"/>
|
||||
</logger>
|
||||
<logger name="jdbc.resultsettable" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="esLogAppender"/>
|
||||
</logger>
|
||||
<logger name="jdbc.sqlonly" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
\<appender-ref ref="esLogAppender"/>
|
||||
</logger>
|
||||
<logger name="jdbc.sqltiming" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="esLogAppender"/>
|
||||
</logger>
|
||||
<logger name="org.jinterop" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
\<appender-ref ref="esLogAppender"/>
|
||||
</logger>
|
||||
</springProfile>
|
||||
<!--测试环境:打印控制台-->
|
||||
@@ -211,11 +225,5 @@ https://juejin.cn/post/6844903775631572999
|
||||
</springProfile>
|
||||
|
||||
<!--生产环境:打印控制台和输出到文件-->
|
||||
<springProfile name="prod">
|
||||
<root level="info">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</root>
|
||||
</springProfile>
|
||||
|
||||
</configuration>
|
||||
|
||||
Reference in New Issue
Block a user