临时打印已经在仓库的成品的标识卡(标识卡根据他们提个的库存信息生成),--(这种没法确认对应的订单,wms自己生成,),

master
mengjiao 10 months ago
parent f96b71da35
commit ffaa3af681

@ -3,6 +3,7 @@ package com.op.wms.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.op.wms.domain.ProOrderWorkorder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -105,4 +106,17 @@ public class WmsFpStorageNewsSnController extends BaseController {
public AjaxResult remove(@PathVariable String[] storageIds) {
return toAjax(wmsFpStorageNewsSnService.deleteWmsFpStorageNewsSnByStorageIds(storageIds));
}
//用于临时生成之前的库存的标识卡:
@PostMapping("/BSKlist")
public TableDataInfo BSKlist(@RequestBody WmsFpStorageNewsSn wmsFpStorageNewsSn) {
startPage();
List<WmsFpStorageNewsSn> proOrderWorkorderList= wmsFpStorageNewsSnService.BSKlist(wmsFpStorageNewsSn);
return getDataTable(proOrderWorkorderList);
}
//用于临时生成之前的库存的标识卡:
@PostMapping("/BSK")
public List<ProOrderWorkorder> BSK(@RequestBody ProOrderWorkorder proOrderWorkorder) {
List<ProOrderWorkorder> proOrderWorkorderList= wmsFpStorageNewsSnService.insertBSK(proOrderWorkorder);
return proOrderWorkorderList;
}
}

@ -773,5 +773,13 @@ public class WmsToWCSmissionController {
List<BaseArea> list = baseAreaService.selectBaseAreaListSC(baseArea);
return success(list);
}
/**
*
*/
@PostMapping("/listTableCK")
public AjaxResult listTableCK(@RequestBody BaseArea baseArea) {
List<BaseWarehouse> list = baseAreaService.listTableCK(baseArea);
return success(list);
}
}

@ -6,6 +6,7 @@ import com.op.common.core.web.domain.TreeEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@ -188,6 +189,15 @@ public class ProOrderWorkorder extends TreeEntity {
private String attribute1 ;
private String attribute2;
private String attribute3;
private String waCode;
public String getWaCode() {
return waCode;
}
public void setWaCode(String waCode) {
this.waCode = waCode;
}
public String getAttribute1() {
return attribute1;
@ -289,6 +299,69 @@ public class ProOrderWorkorder extends TreeEntity {
private String bucketName;
private String batchCode;
private String batchId;
private String productDateStr;
private String recordId;
private BigDecimal batchQuantity;
private BigDecimal umrez;
private Integer palletNo;
private String palletCode;
private String addFlag;
public String getAddFlag() {
return addFlag;
}
public void setAddFlag(String addFlag) {
this.addFlag = addFlag;
}
public String getPalletCode() {
return palletCode;
}
public void setPalletCode(String palletCode) {
this.palletCode = palletCode;
}
public Integer getPalletNo() {
return palletNo;
}
public void setPalletNo(Integer palletNo) {
this.palletNo = palletNo;
}
public BigDecimal getUmrez() {
return umrez;
}
public void setUmrez(BigDecimal umrez) {
this.umrez = umrez;
}
public BigDecimal getBatchQuantity() {
return batchQuantity;
}
public void setBatchQuantity(BigDecimal batchQuantity) {
this.batchQuantity = batchQuantity;
}
public String getRecordId() {
return recordId;
}
public void setRecordId(String recordId) {
this.recordId = recordId;
}
public String getProductDateStr() {
return productDateStr;
}
public void setProductDateStr(String productDateStr) {
this.productDateStr = productDateStr;
}
public String getBatchCode() {
return batchCode;

@ -2,6 +2,7 @@ package com.op.wms.mapper;
import java.util.List;
import com.op.wms.domain.ProOrderWorkorder;
import com.op.wms.domain.WmsFpStorageNewsSn;
import org.apache.ibatis.annotations.Param;
@ -77,7 +78,15 @@ public interface WmsFpStorageNewsSnMapper {
*/
public WmsFpStorageNewsSn selectWmsFpStorageNewsSnBySnAndProductCode(@Param("sn") String sn, @Param("productCode") String productCode);
void updateWmsFpStorageNewsSnOut(WmsFpStorageNewsSn wmsFpStorageNewsSn);
public void updateWmsFpStorageNewsSnOut(WmsFpStorageNewsSn wmsFpStorageNewsSn);
String selectwmsFpStorageNews(WmsFpStorageNewsSn wmsFpStorageNewsSn1);
public String selectwmsFpStorageNews(WmsFpStorageNewsSn wmsFpStorageNewsSn1);
public WmsFpStorageNewsSn selectBSKId(ProOrderWorkorder proOrderWorkorder);
public List<WmsFpStorageNewsSn> selectBSKIdlist(ProOrderWorkorder proOrderWorkorder);
public void addBatchPallet(@Param("list")List<ProOrderWorkorder> dtos);
public List<WmsFpStorageNewsSn> selectBSKList(WmsFpStorageNewsSn proOrderWorkorder);
}

@ -3,6 +3,7 @@ package com.op.wms.service;
import java.util.List;
import com.op.wms.domain.BaseArea;
import com.op.wms.domain.BaseWarehouse;
/**
* Service
@ -64,4 +65,6 @@ public interface IBaseAreaService {
boolean checkAreaDescUnique(BaseArea baseArea);
List<BaseArea> selectBaseAreaListSC(BaseArea baseArea);
List<BaseWarehouse> listTableCK(BaseArea baseArea);
}

@ -2,6 +2,7 @@ package com.op.wms.service;
import java.util.List;
import com.op.wms.domain.ProOrderWorkorder;
import com.op.wms.domain.WmsFpStorageNewsSn;
/**
@ -61,4 +62,8 @@ public interface IWmsFpStorageNewsSnService {
List<WmsFpStorageNewsSn> selectWmsFpStorageNewsSnListunt(WmsFpStorageNewsSn wmsFpStorageNewsSn);
List<ProOrderWorkorder> insertBSK(ProOrderWorkorder proOrderWorkorder);
List<WmsFpStorageNewsSn> BSKlist(WmsFpStorageNewsSn proOrderWorkorder);
}

@ -6,6 +6,7 @@ import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
import com.op.common.core.utils.DateUtils;
import com.op.common.security.utils.SecurityUtils;
import com.op.wms.domain.BaseWarehouse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.wms.mapper.BaseAreaMapper;
@ -140,4 +141,10 @@ public class BaseAreaServiceImpl implements IBaseAreaService {
return baseAreaMapper.selectBaseAreaList(baseArea);
}
@Override
public List<BaseWarehouse> listTableCK(BaseArea baseArea) {
DynamicDataSourceContextHolder.push("ds_" + baseArea.getFactoryCode());
return null;
}
}

@ -1,8 +1,17 @@
package com.op.wms.service.impl;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.security.utils.SecurityUtils;
import com.op.wms.domain.OdsProcureOrder;
import com.op.wms.domain.ProOrderWorkorder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.wms.mapper.WmsFpStorageNewsSnMapper;
@ -103,4 +112,80 @@ public class WmsFpStorageNewsSnServiceImpl implements IWmsFpStorageNewsSnService
}
return wmsFpStorageNewsSnList;
}
@Override
@DS("#header.poolName")
public List<ProOrderWorkorder> insertBSK(ProOrderWorkorder proOrderWorkorder) {
WmsFpStorageNewsSn wmsFpStorageNewsSnBSK= wmsFpStorageNewsSnMapper.selectBSKId(proOrderWorkorder);
List<ProOrderWorkorder> dtos = new ArrayList<>();
//wmsFpStorageNewsSnBSK 物料,批次,版次(版次用不到),订单没有就自动生成随机数,生产日期根据批次号生成,
// CAR数量每盘数量pc数量生成的标识卡插入一个临时的新表里面
//u4用来保存id用来检验是否打印过
List<WmsFpStorageNewsSn> dtos0= wmsFpStorageNewsSnMapper.selectBSKIdlist(proOrderWorkorder);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date();
String formattedDate = dateFormat.format(date);
if(dtos0.size()==0){
//说明没生成过标识卡
ProOrderWorkorder pw = new ProOrderWorkorder();
int i = 1;
String palletNum = wmsFpStorageNewsSnBSK.getUserDefined2();
Date nowDate = DateUtils.getNowDate();
if(palletNum!=null){
BigDecimal pall = wmsFpStorageNewsSnBSK.getAmount();
BigDecimal pn = new BigDecimal(palletNum);
while(pall.compareTo(BigDecimal.ZERO)>0){
pw = new ProOrderWorkorder();
pw.setProductName(wmsFpStorageNewsSnBSK.getProductName());//ProductName
pw.setProductCode(wmsFpStorageNewsSnBSK.getProductCode());
pw.setWorkorderCode("RK"+formattedDate);//OrderNo
pw.setBatchCode(wmsFpStorageNewsSnBSK.getBatchNumber());//BatchNumber
pw.setProductDateStr(wmsFpStorageNewsSnBSK.getUserDefined4());//u5
pw.setWaCode(wmsFpStorageNewsSnBSK.getWaCode());
// pw.setRecordId(IdUtils.fastSimpleUUID());
if(pall.compareTo(pn)<0) {//最后一托盘
pw.setBatchQuantity(pall);
}else{
pw.setBatchQuantity(pn);//Amount
}
pw.setUnit("CAR");//u6
pw.setUmrez(pw.getBatchQuantity().multiply(new BigDecimal(wmsFpStorageNewsSnBSK.getUserDefined10())));//子单数量 u9
pw.setPalletNo(i++);//u7
pw.setPalletCode(wmsFpStorageNewsSnBSK.getProductCode() + "-" +pw.getWorkorderCode() + "-"
+ wmsFpStorageNewsSnBSK.getBatchNumber() + "-" + pw.getPalletNo());//workorderCode 实际上是订单号 U8
pw.setCreateTime(nowDate);
pw.setCreateBy(SecurityUtils.getUsername());
pw.setAttr4(wmsFpStorageNewsSnBSK.getStorageId());//u4
pw.setWorkorderId(IdUtils.fastSimpleUUID());//id
dtos.add(pw);
pall = pall.subtract(pn);
}
wmsFpStorageNewsSnMapper.addBatchPallet(dtos);
}
}else {
for (WmsFpStorageNewsSn wmsFpStorageNewsSn:dtos0){
ProOrderWorkorder pw = new ProOrderWorkorder();
pw.setProductName(wmsFpStorageNewsSn.getProductName());
pw.setWorkorderCode(wmsFpStorageNewsSn.getOrderNo());
pw.setBatchCode(wmsFpStorageNewsSn.getBatchNumber());
pw.setProductDateStr(wmsFpStorageNewsSn.getUserDefined5());//生产日期
pw.setBatchQuantity(wmsFpStorageNewsSn.getAmount());
pw.setUnit(wmsFpStorageNewsSn.getUserDefined6());
pw.setUmrez(new BigDecimal(wmsFpStorageNewsSn.getUserDefined9()));//子单数量
pw.setPalletNo(Integer.parseInt(wmsFpStorageNewsSn.getUserDefined7()));
pw.setPalletCode(wmsFpStorageNewsSn.getUserDefined8());//workorderCode 实际上是订单号
pw.setCreateTime(new Date());
pw.setCreateBy(SecurityUtils.getUsername());
dtos.add(pw);
}
}
return dtos;
}
@Override
@DS("#header.poolName")
public List<WmsFpStorageNewsSn> BSKlist(WmsFpStorageNewsSn proOrderWorkorder) {
return wmsFpStorageNewsSnMapper.selectBSKList(proOrderWorkorder);
}
}

@ -71,6 +71,68 @@
</where>
</select>
<select id="selectBSKList" parameterType="WmsFpStorageNewsSn" resultMap="WmsFpStorageNewsSnResult">
SELECT
storage_id,
wh_code,
wa_code,
wl_code,
order_no,
product_name,
product_code,
sn,
bar_code,
amount,
batch_number,
user_defined2,
user_defined3,
user_defined4,
user_defined5,
user_defined6,
user_defined7,
user_defined8,
user_defined9,
user_defined10,
create_by,
gmt_create,
last_modified_by,
gmt_modified,
active_flag,
factory_code,
sap_factory_code
FROM
wms_fp_storage_news_sn_copy1
<where>
<if test="whCode != null and whCode != ''">and wh_code = #{whCode}</if>
<if test="waCode != null and waCode != ''">and wa_code = #{waCode}</if>
<if test="wlCode != null and wlCode != ''">and wl_code = #{wlCode}</if>
<if test="orderNo != null and orderNo != ''">and order_no = #{orderNo}</if>
<if test="productName != null and productName != ''">and product_name like concat('%', #{productName},
'%')
</if>
<if test="productCode != null and productCode != ''">and product_code = #{productCode}</if>
<if test="sn != null and sn != ''">and sn = #{sn}</if>
<if test="barCode != null and barCode != ''">and bar_code = #{barCode}</if>
<if test="amount != null ">and amount = #{amount}</if>
<if test="batchNumber != null and batchNumber != ''">and batch_number = #{batchNumber}</if>
<if test="userDefined2 != null and userDefined2 != ''">and user_defined2 = #{userDefined2}</if>
<if test="userDefined3 != null and userDefined3 != ''">and user_defined3 = #{userDefined3}</if>
<if test="userDefined4 != null and userDefined4 != ''">and user_defined4 = #{userDefined4}</if>
<if test="userDefined5 != null and userDefined5 != ''">and user_defined5 = #{userDefined5}</if>
<if test="userDefined6 != null and userDefined6 != ''">and user_defined6 = #{userDefined6}</if>
<if test="userDefined7 != null and userDefined7 != ''">and user_defined7 = #{userDefined7}</if>
<if test="userDefined8 != null and userDefined8 != ''">and user_defined8 = #{userDefined8}</if>
<if test="userDefined9 != null and userDefined9 != ''">and user_defined9 = #{userDefined9}</if>
<if test="userDefined10 != null and userDefined10 != ''">and user_defined10 = #{userDefined10}</if>
<if test="gmtCreate != null ">and gmt_create = #{gmtCreate}</if>
<if test="lastModifiedBy != null and lastModifiedBy != ''">and last_modified_by = #{lastModifiedBy}</if>
<if test="gmtModified != null ">and gmt_modified = #{gmtModified}</if>
<if test="activeFlag != null and activeFlag != ''">and active_flag = #{activeFlag}</if>
<if test="factoryCode != null and factoryCode != ''">and factory_code = #{factoryCode}</if>
<if test="sapFactoryCode != null and sapFactoryCode != ''">and sap_factory_code = #{sapFactoryCode}</if>
</where>
</select>
<select id="selectWmsFpStorageNewsSnByStorageId" parameterType="String" resultMap="WmsFpStorageNewsSnResult">
<include refid="selectWmsFpStorageNewsSnVo"/>
where storage_id = #{storageId}
@ -256,5 +318,123 @@
<select id="selectwmsFpStorageNews" resultType="java.lang.String">
select DISTINCT user_defined1 from wms_fp_storage_news where product_code=#{productCode} and active_flag='1'
</select>
<select id="selectBSKId" resultMap="WmsFpStorageNewsSnResult">
SELECT
wms_fp_storage_news_sn_copy1.storage_id,
wms_fp_storage_news_sn_copy1.wh_code,
wms_fp_storage_news_sn_copy1.wa_code,
wms_fp_storage_news_sn_copy1.wl_code,
wms_fp_storage_news_sn_copy1.order_no,
wms_fp_storage_news_sn_copy1.product_name,
wms_fp_storage_news_sn_copy1.product_code,
wms_fp_storage_news_sn_copy1.sn,
wms_fp_storage_news_sn_copy1.bar_code,
wms_fp_storage_news_sn_copy1.amount,
wms_fp_storage_news_sn_copy1.batch_number,
wms_fp_storage_news_sn_copy1.user_defined2,
wms_fp_storage_news_sn_copy1.user_defined3,
wms_fp_storage_news_sn_copy1.user_defined4,
wms_fp_storage_news_sn_copy1.user_defined5,
wms_fp_storage_news_sn_copy1.user_defined6,
wms_fp_storage_news_sn_copy1.user_defined7,
wms_fp_storage_news_sn_copy1.user_defined8,
wms_fp_storage_news_sn_copy1.user_defined9,
wms_fp_storage_news_sn_copy1.create_by,
wms_fp_storage_news_sn_copy1.gmt_create,
wms_fp_storage_news_sn_copy1.last_modified_by,
wms_fp_storage_news_sn_copy1.gmt_modified,
wms_fp_storage_news_sn_copy1.active_flag,
wms_fp_storage_news_sn_copy1.factory_code,
COALESCE(base.umrez, 0) AS user_defined10,
wms_fp_storage_news_sn_copy1.sap_factory_code
FROM
wms_fp_storage_news_sn_copy1
LEFT JOIN base_product base ON base.product_code LIKE concat ( '%', wms_fp_storage_news_sn_copy1.product_code, '%' )
WHERE
storage_id = #{workorderId}
</select>
<select id="selectBSKIdlist" resultMap="WmsFpStorageNewsSnResult">
SELECT
storage_id,
wh_code,
wa_code,
wl_code,
order_no,
product_name,
product_code,
sn,
bar_code,
amount,
batch_number,
user_defined2,
user_defined3,
user_defined4,
user_defined5,
user_defined6,
user_defined7,
user_defined8,
user_defined9,
user_defined10,
create_by,
gmt_create,
last_modified_by,
gmt_modified,
active_flag,
factory_code,
sap_factory_code
FROM
wms_fp_storage_news_sn_copy1_copy1
where user_defined4=#{workorderId}
</select>
<insert id="addBatchPallet" parameterType="java.util.List">
<foreach collection="list" item="dto" separator=";">
<!-- 插入数据到 wms_fp_storage_news_sn_copy1_copy1 表 -->
insert into wms_fp_storage_news_sn_copy1_copy1
<!-- 使用 <trim> 标签来处理列名,这样可以自动去掉最后一个逗号 -->
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="dto.workorderId != null">storage_id,</if>
<if test="dto.waCode != null">wa_code,</if>
<if test="dto.workorderCode != null">order_no,</if>
<if test="dto.productName != null">product_name,</if>
<if test="dto.productCode != null">product_code,</if>
<if test="dto.sn != null">sn,</if>
<if test="dto.batchQuantity != null">amount,</if>
<if test="dto.batchCode != null">batch_number,</if>
<if test="dto.attr4 != null">user_defined4,</if>
<if test="dto.productDateStr != null">user_defined5,</if>
<if test="dto.unit != null">user_defined6,</if>
<if test="dto.palletNo != null">user_defined7,</if>
<if test="dto.palletCode != null">user_defined8,</if>
<if test="dto.umrez != null">user_defined9,</if>
<if test="dto.createBy != null">create_by,</if>
<if test="dto.createTime != null">gmt_create,</if>
<if test="dto.factoryCode != null">factory_code,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="dto.workorderId != null">#{dto.workorderId},</if>
<if test="dto.waCode != null">#{dto.waCode},</if>
<if test="dto.workorderCode != null">#{dto.workorderCode},</if>
<if test="dto.productName != null">#{dto.productName},</if>
<if test="dto.productCode != null">#{dto.productCode},</if>
<if test="dto.sn != null">#{dto.sn},</if>
<if test="dto.batchQuantity != null">#{dto.batchQuantity},</if>
<if test="dto.batchCode != null">#{dto.batchCode},</if>
<if test="dto.attr4 != null">#{dto.attr4},</if>
<if test="dto.productDateStr != null">#{dto.productDateStr},</if>
<if test="dto.unit != null">#{dto.unit},</if>
<if test="dto.palletNo != null">#{dto.palletNo},</if>
<if test="dto.palletCode != null">#{dto.palletCode},</if>
<if test="dto.umrez != null">#{dto.umrez},</if>
<if test="dto.createBy != null">#{dto.createBy},</if>
<if test="dto.createTime != null">#{dto.createTime},</if>
<if test="dto.factoryCode != null">#{dto.factoryCode},</if>
</trim>
</foreach>
</insert>
</mapper>

Loading…
Cancel
Save