成品入库修改,和打印接口

master
mengjiao 5 months ago
parent 99c3e0e3e7
commit c1de5e8c1d

@ -51,7 +51,7 @@ public class OdsProcureOrderController extends BaseController {
}
/**获取标识卡**/
@PostMapping("/getIdCardList")
public List<ProOrderWorkorder> getIdCardList(@RequestBody OdsProcureOrder odsProcureOrder) {
public List<OdsProcureOrder> getIdCardList(@RequestBody OdsProcureOrder odsProcureOrder) {
return odsProcureOrderService.getIdCardList(odsProcureOrder);
}
/**

@ -306,11 +306,15 @@ public class WmsToWCSmissionController {
*/
@PostMapping("/WmsProductPutByWorkOrderqueryBS")
public AjaxResult WmsProductPutByWorkOrderqueryBS(@RequestBody WmsProductPut wmsProductPut) {
WmsProductPut wmsProductPut1= wmsProductPutService.WmsProductPutByWorkOrderqueryBS(wmsProductPut);
if (wmsProductPut1==null) {
return AjaxResult.error("标识卡未绑定");
try {
// 调用服务层方法获取 WmsProductPut 对象
WmsProductPut wmsProductPut1 = wmsProductPutService.WmsProductPutByWorkOrderqueryBS(wmsProductPut);
// 返回成功结果
return AjaxResult.success(wmsProductPut1);
} catch (Exception e) {
// 捕捉到异常时,返回错误提示
return AjaxResult.error("扫描标识卡异常,检查标识卡是否有问题:" + e.getMessage());
}
return AjaxResult.success(wmsProductPut1);
}

@ -71,6 +71,8 @@ public class OdsProcureOrder extends BaseEntity {
*/
@Excel(name = "工厂编码")
private String siteCode;
private String cardNum;
/**
*
*/
@ -283,6 +285,14 @@ public class OdsProcureOrder extends BaseEntity {
this.Remark = Remark;
}
public String getCardNum() {
return cardNum;
}
public void setCardNum(String cardNum) {
this.cardNum = cardNum;
}
/**
*
*/

@ -3,6 +3,7 @@ package com.op.wms.mapper;
import java.util.List;
import com.op.wms.domain.OdsProcureOrder;
import org.apache.ibatis.annotations.Param;
/**
* Mapper
@ -72,4 +73,6 @@ public interface OdsProcureOrderMapper {
void updateOdsProcureOrderByProcureCode(OdsProcureOrder odsProcureOrder);
List<OdsProcureOrder> getIdCardList(OdsProcureOrder odsProcureOrder);
void addBatchPallet(@Param("list")List<OdsProcureOrder> dtos);
}

@ -4,6 +4,7 @@ import java.util.List;
import com.op.system.api.domain.wms.wmsReportWork;
import com.op.wms.domain.ProOrderWorkorder;
import com.op.wms.domain.WmsProductPut;
import org.apache.ibatis.annotations.Param;
@ -81,6 +82,10 @@ public interface WmsProductPutMapper {
WmsProductPut selectProOrderWorkorderBatchPallet(WmsProductPut wmsProductPut);
WmsProductPut selectProOrderWorkorderBatchPalletcode(WmsProductPut wmsProductPut);
WmsProductPut selectProOrderWorkorderBatchPalletAtter(ProOrderWorkorder proOrderWorkorder);
// String selectWmsProductPutNum(wmsReportWork wmsReportWork);
}

@ -112,5 +112,5 @@ public interface IOdsProcureOrderService {
void OutboundPostingSAPfc(List<OdsProcureOutOrder> orderList);
List<ProOrderWorkorder> getIdCardList(OdsProcureOrder odsProcureOrder);
List<OdsProcureOrder> getIdCardList(OdsProcureOrder odsProcureOrder);
}

@ -15,6 +15,7 @@ import java.util.*;
import com.op.common.core.domain.R;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.security.utils.SecurityUtils;
import com.op.system.api.RemoteOpenService;
@ -41,6 +42,7 @@ import com.op.wms.mapper.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.wms.service.IOdsProcureOrderService;
import org.springframework.util.CollectionUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@ -77,6 +79,9 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
private WmsRawOrderInMapper wmsRawOrderInMapper;
@Autowired
private RemoteOpenService remoteOpenService;
@Autowired
private BaseProductAttachedMapper baseProductAttachedMapper;
/**
*
*
@ -1075,10 +1080,69 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
@Override
public List<ProOrderWorkorder> getIdCardList(OdsProcureOrder odsProcureOrder) {
List<OdsProcureOrder> orderList= odsProcureOrderMapper.getIdCardList(odsProcureOrder);
@DS("#header.poolName")
public List<OdsProcureOrder> getIdCardList(OdsProcureOrder odsProcureOrder) {
// DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
List<OdsProcureOrder> dtos = new ArrayList<>();
OdsProcureOrder order=odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
//根据采购单获取一托盘要装多少
BaseProductAttached baseProductAttached=new BaseProductAttached();
String trimmedMaterialCode = order.getMaterialCode().substring(7);
baseProductAttached.setProductCode(trimmedMaterialCode);
List<BaseProductAttached> baseProductAttacheds= baseProductAttachedMapper.selectBaseProductAttachedList(baseProductAttached);
if (baseProductAttacheds.size()==0){
//没有配置附属信息
return null;
}
String name = odsProcureOrderMapper.selectBaseSupplier(order);
order.setSupplierName(name);
List<OdsProcureOrder> dtos0= odsProcureOrderMapper.getIdCardList(order);
if(dtos0.size()==0){
//说明没生成过标识卡
OdsProcureOrder pw = new OdsProcureOrder();
int i = 1;
String palletNum = baseProductAttacheds.get(0).getPalletNum();
Date nowDate = DateUtils.getNowDate();
if(palletNum!=null){
BigDecimal pall = order.getPlanNumber();
BigDecimal pn = new BigDecimal(palletNum);
while(pall.compareTo(BigDecimal.ZERO)>0){
pw = new OdsProcureOrder();
pw.setSiteCode(order.getSiteCode());
pw.setProcureCode(order.getProcureCode());
pw.setUserDefined3(order.getUserDefined3());//行项目
pw.setMaterialCode(order.getMaterialCode());
pw.setMaterialDesc(order.getMaterialDesc());
pw.setPlanNumber(pn);
pw.setSupplierCode(order.getSupplierCode());
pw.setSupplierName(order.getSupplierName());
pw.setUserDefined8(order.getUserDefined8());
pw.setUserDefined11(order.getUserDefined11());
pw.setUnit(order.getUnit());
if(pall.compareTo(pn)<0) {//最后一托盘
pw.setPlanNumber(pall);
}else{
pw.setPlanNumber(pn);
}
pw.setCardNum(String.valueOf(i++));
String dateString = pw.getUserDefined11().replace("-", "");
pw.setUserDefined1(pw.getProcureCode()+"-"+pw.getUserDefined3()+"-"+pw.getUserDefined8()+"-"+dateString+"-"+pw.getCardNum());//采购单+行项目+类型+日期+板次
pw.setCreateTime(nowDate);
pw.setActive("1");
dtos.add(pw);
pall = pall.subtract(pn);
}
}
return null;
if(!CollectionUtils.isEmpty(dtos)){
odsProcureOrderMapper.addBatchPallet(dtos);
}
}else{
dtos.addAll(dtos0);
}
return dtos;
}
public String DesignatedPalletOutboundWCS(WMSDesignatedPalle wmsDesignatedPalle) {

@ -1032,11 +1032,11 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
public WmsProductPut WmsProductPutByWorkOrderqueryBS(WmsProductPut wmsProductPut) {
// 使用 split 方法根据 '-' 分割字符串,结果是一个字符串数组
DynamicDataSourceContextHolder.push("ds_" + wmsProductPut.getFactoryCode());
String[] attributes = wmsProductPut.getPallet().split("-");
// 通过索引访问分割后的数组,获取所需的三个属性
String attribute1 = attributes[0]; // 获取第一个属性
String attribute2 = attributes[1]; // 获取第二个属性
String attribute3 = attributes[2]; // 获取第三个属性
// String[] attributes = wmsProductPut.getPallet().split("-");
WmsProductPut wmsProductPutTEM= wmsProductPutMapper.selectProOrderWorkorderBatchPalletcode(wmsProductPut);
String attribute1 = wmsProductPutTEM.getAttribute1(); // 获取第一个属性
String attribute2 = wmsProductPutTEM.getAttribute2(); // 获取第二个属性
String attribute3 = wmsProductPutTEM.getAttribute3(); // 获取第三个属性
wmsProductPut.setAttribute1(attribute1);
wmsProductPut.setAttribute2(attribute2);
wmsProductPut.setAttribute3(attribute3);
@ -1091,11 +1091,12 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
@Override
public ProOrderWorkorder finishedProductProductionRecordscar(ProOrderWorkorder proOrderWorkorder) {
DynamicDataSourceContextHolder.push("ds_" + proOrderWorkorder.getFactoryCode());
String[] attributes = proOrderWorkorder.getAttr1().split("-");
//String[] attributes = proOrderWorkorder.getAttr1().split("-");
// 通过索引访问分割后的数组,获取所需的三个属性
String attribute1 = attributes[0]; // 获取第一个属性
String attribute2 = attributes[1]; // 获取第二个属性
String attribute3 = attributes[2]; // 获取第三个属性
WmsProductPut wmsProductPutTEM= wmsProductPutMapper.selectProOrderWorkorderBatchPalletAtter(proOrderWorkorder);
String attribute1 = wmsProductPutTEM.getAttribute1(); // 获取第一个属性
String attribute2 = wmsProductPutTEM.getAttribute2(); // 获取第二个属性
String attribute3 = wmsProductPutTEM.getAttribute3(); // 获取第三个属性
proOrderWorkorder.setWorkorderCodeSap(attribute1);
proOrderWorkorder.setBatchCode(attribute2);
WmsProductPut wmsProductPut =new WmsProductPut();

@ -14,6 +14,7 @@
<result property="planNumber" column="Plan_Number"/>
<result property="Unit" column="Unit"/>
<result property="realityNumber" column="Reality_Number"/>
<result property="cardNum" column="cardNum"/>
<result property="orderStatus" column="Order_Status"/>
<result property="userDefined1" column="User_Defined1"/>
<result property="userDefined2" column="User_Defined2"/>
@ -250,7 +251,185 @@
and Active= #{Active}
</select>
<select id="getIdCardList">
<select id="getIdCardList" parameterType="OdsProcureOrder" resultMap="OdsProcureOrderResult">
SELECT
Site_code,
ID,
Procure_Code,
Material_Code,
Material_Desc,
Plan_Date,
Plan_Number,
Unit,
COALESCE ( Reality_Number, 0 ) Reality_Number,
card_num cardNum,
User_Defined1,
User_Defined2,
User_Defined3,
User_Defined4,
User_Defined5,
User_Defined6,
User_Defined7,
User_Defined8,
User_Defined9,
User_Defined10,
User_Defined11,
Supplier_Code,
Supplier_Name,
Remark,
Create_By,
Create_Date,
Last_Update_By,
Last_Update_Date,
Active,
Enterprise_Id,
Enterprise_Code,
COALESCE ( Operation_Number, 0 ) Operation_Number
FROM
ods_procure_order_card
where Procure_Code=#{procureCode} and User_Defined3= #{userDefined3} and User_Defined8= #{userDefined8} and User_Defined11= #{userDefined11}
</select>
<!-- 定义一个插入操作ID为addBatchPallet参数类型为List<OdsProcureOrder> -->
<insert id="addBatchPallet" parameterType="java.util.List">
<!-- 使用<foreach>标签遍历传入的集合item为集合中每个元素index为当前索引 -->
<foreach collection="list" item="dto" separator=";">
<!-- 插入数据到ods_procure_order_card表 -->
insert into ods_procure_order_card
<!-- 使用<trim>标签来处理列名,这样可以自动去掉最后一个逗号 -->
<trim prefix="(" suffix=")" suffixOverrides=",">
<!-- 如果siteCode不为null则添加列名Site_code -->
<if test="dto.siteCode != null">Site_code,</if>
<!-- 如果ID不为null则添加列名ID -->
<if test="dto.ID != null">ID,</if>
<!-- 如果cardNum不为null则添加列名card_num -->
<if test="dto.cardNum != null">card_num,</if>
<!-- 如果procureCode不为null则添加列名Procure_Code -->
<if test="dto.procureCode != null">Procure_Code,</if>
<!-- 如果materialCode不为null则添加列名Material_Code -->
<if test="dto.materialCode != null">Material_Code,</if>
<!-- 如果materialDesc不为null则添加列名Material_Desc -->
<if test="dto.materialDesc != null">Material_Desc,</if>
<!-- 如果planDate不为null则添加列名Plan_Date -->
<if test="dto.planDate != null">Plan_Date,</if>
<!-- 如果planNumber不为null则添加列名Plan_Number -->
<if test="dto.planNumber != null">Plan_Number,</if>
<!-- 如果Unit不为null则添加列名Unit -->
<if test="dto.Unit != null">Unit,</if>
<!-- 如果realityNumber不为null则添加列名Reality_Number -->
<if test="dto.realityNumber != null">Reality_Number,</if>
<!-- 如果orderStatus不为null则添加列名Order_Status -->
<if test="dto.orderStatus != null">Order_Status,</if>
<!-- 如果userDefined1不为null则添加列名User_Defined1 -->
<if test="dto.userDefined1 != null">User_Defined1,</if>
<!-- 如果userDefined2不为null则添加列名User_Defined2 -->
<if test="dto.userDefined2 != null">User_Defined2,</if>
<!-- 如果userDefined3不为null则添加列名User_Defined3 -->
<if test="dto.userDefined3 != null">User_Defined3,</if>
<!-- 如果userDefined4不为null则添加列名User_Defined4 -->
<if test="dto.userDefined4 != null">User_Defined4,</if>
<!-- 如果userDefined5不为null则添加列名User_Defined5 -->
<if test="dto.userDefined5 != null">User_Defined5,</if>
<!-- 如果userDefined6不为null则添加列名User_Defined6 -->
<if test="dto.userDefined6 != null">User_Defined6,</if>
<!-- 如果userDefined7不为null则添加列名User_Defined7 -->
<if test="dto.userDefined7 != null">User_Defined7,</if>
<!-- 如果userDefined8不为null则添加列名User_Defined8 -->
<if test="dto.userDefined8 != null">User_Defined8,</if>
<!-- 如果userDefined9不为null则添加列名User_Defined9 -->
<if test="dto.userDefined9 != null">User_Defined9,</if>
<!-- 如果userDefined10不为null则添加列名User_Defined10 -->
<if test="dto.userDefined10 != null">User_Defined10,</if>
<!-- 如果userDefined11不为null则添加列名User_Defined11 -->
<if test="dto.userDefined11 != null">User_Defined11,</if>
<!-- 如果supplierCode不为null则添加列名Supplier_Code -->
<if test="dto.supplierCode != null">Supplier_Code,</if>
<!-- 如果supplierName不为null则添加列名Supplier_Name -->
<if test="dto.supplierName != null">Supplier_Name,</if>
<!-- 如果Remark不为null则添加列名Remark -->
<if test="dto.Remark != null">Remark,</if>
<!-- 如果createBy不为null则添加列名Create_By -->
<if test="dto.createBy != null">Create_By,</if>
<!-- 如果createDate不为null则添加列名Create_Date -->
<if test="dto.createDate != null">Create_Date,</if>
<!-- 如果lastUpdateBy不为null则添加列名Last_Update_By -->
<if test="dto.lastUpdateBy != null">Last_Update_By,</if>
<!-- 如果lastUpdateDate不为null则添加列名Last_Update_Date -->
<if test="dto.lastUpdateDate != null">Last_Update_Date,</if>
<!-- 如果Active不为null则添加列名Active -->
<if test="dto.Active != null">Active,</if>
<!-- 如果enterpriseId不为null则添加列名Enterprise_Id -->
<if test="dto.enterpriseId != null">Enterprise_Id,</if>
<!-- 如果enterpriseCode不为null则添加列名Enterprise_Code -->
<if test="dto.enterpriseCode != null">Enterprise_Code,</if>
</trim>
<!-- 使用<trim>标签来处理值,这样可以自动去掉最后一个逗号 -->
<trim prefix="values (" suffix=")" suffixOverrides=",">
<!-- 如果siteCode不为null则添加对应的值 -->
<if test="dto.siteCode != null">#{dto.siteCode},</if>
<!-- 如果ID不为null则添加对应的值 -->
<if test="dto.ID != null">#{dto.ID},</if>
<!-- 如果cardNum不为null则添加对应的值 -->
<if test="dto.cardNum != null">#{dto.cardNum},</if>
<!-- 如果procureCode不为null则添加对应的值 -->
<if test="dto.procureCode != null">#{dto.procureCode},</if>
<!-- 如果materialCode不为null则添加对应的值 -->
<if test="dto.materialCode != null">#{dto.materialCode},</if>
<!-- 如果materialDesc不为null则添加对应的值 -->
<if test="dto.materialDesc != null">#{dto.materialDesc},</if>
<!-- 如果planDate不为null则添加对应的值 -->
<if test="dto.planDate != null">#{dto.planDate},</if>
<!-- 如果planNumber不为null则添加对应的值 -->
<if test="dto.planNumber != null">#{dto.planNumber},</if>
<!-- 如果Unit不为null则添加对应的值 -->
<if test="dto.Unit != null">#{dto.Unit},</if>
<!-- 如果realityNumber不为null则添加对应的值 -->
<if test="dto.realityNumber != null">#{dto.realityNumber},</if>
<!-- 如果orderStatus不为null则添加对应的值 -->
<if test="dto.orderStatus != null">#{dto.orderStatus},</if>
<!-- 如果userDefined1不为null则添加对应的值 -->
<if test="dto.userDefined1 != null">#{dto.userDefined1},</if>
<!-- 如果userDefined2不为null则添加对应的值 -->
<if test="dto.userDefined2 != null">#{dto.userDefined2},</if>
<!-- 如果userDefined3不为null则添加对应的值 -->
<if test="dto.userDefined3 != null">#{dto.userDefined3},</if>
<!-- 如果userDefined4不为null则添加对应的值 -->
<if test="dto.userDefined4 != null">#{dto.userDefined4},</if>
<!-- 如果userDefined5不为null则添加对应的值 -->
<if test="dto.userDefined5 != null">#{dto.userDefined5},</if>
<!-- 如果userDefined6不为null则添加对应的值 -->
<if test="dto.userDefined6 != null">#{dto.userDefined6},</if>
<!-- 如果userDefined7不为null则添加对应的值 -->
<if test="dto.userDefined7 != null">#{dto.userDefined7},</if>
<!-- 如果userDefined8不为null则添加对应的值 -->
<if test="dto.userDefined8 != null">#{dto.userDefined8},</if>
<!-- 如果userDefined9不为null则添加对应的值 -->
<if test="dto.userDefined9 != null">#{dto.userDefined9},</if>
<!-- 如果userDefined10不为null则添加对应的值 -->
<if test="dto.userDefined10 != null">#{dto.userDefined10},</if>
<!-- 如果userDefined11不为null则添加对应的值 -->
<if test="dto.userDefined11 != null">#{dto.userDefined11},</if>
<!-- 如果supplierCode不为null则添加对应的值 -->
<if test="dto.supplierCode != null">#{dto.supplierCode},</if>
<!-- 如果supplierName不为null则添加对应的值 -->
<if test="dto.supplierName != null">#{dto.supplierName},</if>
<!-- 如果Remark不为null则添加对应的值 -->
<if test="dto.Remark != null">#{dto.Remark},</if>
<!-- 如果createBy不为null则添加对应的值 -->
<if test="dto.createBy != null">#{dto.createBy},</if>
<!-- 如果createDate不为null则添加对应的值 -->
<if test="dto.createDate != null">#{dto.createDate},</if>
<!-- 如果lastUpdateBy不为null则添加对应的值 -->
<if test="dto.lastUpdateBy != null">#{dto.lastUpdateBy},</if>
<!-- 如果lastUpdateDate不为null则添加对应的值 -->
<if test="dto.lastUpdateDate != null">#{dto.lastUpdateDate},</if>
<!-- 如果Active不为null则添加对应的值 -->
<if test="dto.Active != null">#{dto.Active},</if>
<!-- 如果enterpriseId不为null则添加对应的值 -->
<if test="dto.enterpriseId != null">#{dto.enterpriseId},</if>
<!-- 如果enterpriseCode不为null则添加对应的值 -->
<if test="dto.enterpriseCode != null">#{dto.enterpriseCode},</if>
</trim>
</foreach>
</insert>
</mapper>

@ -39,6 +39,9 @@
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="attribute1" column="attribute1"/>
<result property="attribute2" column="attribute2"/>
<result property="attribute3" column="attribute3"/>
</resultMap>
<sql id="selectWmsProductPutVo">
@ -432,4 +435,29 @@
AND pro_order_workorder_batch_pallet.pallet_num= #{pallet}
</select>
<select id="selectProOrderWorkorderBatchPalletcode" resultMap="WmsProductPutResult">
SELECT
pro_order_workorder_batch_pallet.workorder_code AS attribute1,
pro_order_workorder_batch_pallet.batch_code AS attribute2,
pro_order_workorder_batch_pallet.pallet_num AS attribute3
FROM
pro_order_workorder_batch_pallet
WHERE
pro_order_workorder_batch_pallet.pallet_code= #{pallet}
</select>
<select id="selectProOrderWorkorderBatchPalletAtter" resultMap="WmsProductPutResult">
SELECT
pro_order_workorder_batch_pallet.workorder_code AS attribute1,
pro_order_workorder_batch_pallet.batch_code AS attribute2,
pro_order_workorder_batch_pallet.pallet_num AS attribute3
FROM
pro_order_workorder_batch_pallet
WHERE
pro_order_workorder_batch_pallet.pallet_code= #{attr1}
</select>
</mapper>

Loading…
Cancel
Save