恢复被覆盖的库存填报代码

master
FCD 3 days ago
parent 278319b6d2
commit 39c51fde4d

@ -1022,4 +1022,22 @@ public class WmsToWCSmissionController {
return odsProcureOrderService.packingMaterialsInboundCompletedNew(wcsRequestParams);
}
/**
*
* **/
@GetMapping("/wmsStockAreaEntryList")
public AjaxResult getStockAreaEntryList(WmsStockAreaEntry params) {
List<WmsStockAreaEntry> list = odsProcureOrderService.getStockAreaEntryList(params);
return AjaxResult.success(list);
}
/**
*
* **/
@PostMapping("/submitMaterialEntry")
public AjaxResult submitMaterialEntry(@RequestBody List<WmsStockAreaEntry> list) {
odsProcureOrderService.submitMaterialEntry(list);
return AjaxResult.success();
}
}

@ -172,4 +172,8 @@ public interface IOdsProcureOrderService {
AjaxResult packingMaterialsInboundCompletedNew(WcsRequestParams wcsRequestParams);
AjaxResult packingMaterialsRequestOutboundNew(WcsOutBoundRequestParams wcsOutBoundRequestParams) throws Exception;
List<WmsStockAreaEntry> getStockAreaEntryList(WmsStockAreaEntry params);
void submitMaterialEntry(List<WmsStockAreaEntry> list);
}

@ -29,6 +29,7 @@ import com.op.system.api.RemoteQualityService;
import com.op.system.api.RemoteSapService;
import com.op.system.api.domain.quality.QcCheckTaskIncomeDTO;
import com.op.system.api.domain.sap.SapBackflushMPQuery;
import com.op.system.api.domain.sap.SapMaterialEntry;
import com.op.system.api.domain.sap.SapMaterialPosting;
import com.op.system.api.domain.sap.SapPurchaseOrderQuery;
import com.op.wms.domain.wcs.WcsOutBoundRequestParams;
@ -41,6 +42,7 @@ import okhttp3.Response;
import java.io.IOException;
import java.util.stream.Collectors;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
@ -4145,4 +4147,45 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
String result = HttpUtils.sendPostWechart(OutboundUrl,requestParam);
return AjaxResult.success(result);
}
@Override
@DS("#header.poolName")
public List<WmsStockAreaEntry> getStockAreaEntryList(WmsStockAreaEntry params) {
return odsProcureOutOrderMapper.getStockAreaEntryList(params);
}
@Override
@DS("#header.poolName")
public void submitMaterialEntry(List<WmsStockAreaEntry> list) {
List<SapMaterialEntry> sapList = new ArrayList<>();
List<WmsStockAreaEntry> duplicationList = odsProcureOutOrderMapper.batchCheckDuplication(list);
if (!duplicationList.isEmpty()){
List<String> materialCodeList = duplicationList.stream().map(WmsStockAreaEntry::getMaterialCode).collect(Collectors.toList());
throw new RuntimeException("物料:"+materialCodeList+"存在重复数据");
}
for (WmsStockAreaEntry item : list){
SapMaterialEntry entry = new SapMaterialEntry();
entry.setMaterialCode(item.getMaterialCode());
entry.setBatchCode(item.getBatchCode());
entry.setFactoryCode(item.getFactoryCode());
entry.setAreaCode(item.getAreaCode());
entry.setStatus(item.getStatus());
entry.setUserCode(item.getCreateBy());
sapList.add(entry);
}
//提交记录
odsProcureOutOrderMapper.batchInsertMaterialEntry(list);
//提交到sap
remoteSapService.updateMaterialEntry(sapList,"1");
}
}

@ -2254,4 +2254,67 @@
</update>
<select id="getStockAreaEntryList" resultType="com.op.wms.domain.WmsStockAreaEntry" parameterType="com.op.wms.domain.WmsStockAreaEntry">
SELECT
CONVERT(VARCHAR, pow.product_date, 23) productionDate,
SUBSTRING(pow.workorder_code_sap, 4, 10) workOrderCode,
SUBSTRING(pow.product_code, 8,11) materialCode,
pow.product_name materialName,
CASE
WHEN LEN(powb.batch_code) = 24 THEN SUBSTRING(powb.batch_code, 13, 10)
WHEN LEN(powb.batch_code) <![CDATA[ < ]]> 24 THEN powb.batch_code
WHEN LEN(powb.batch_code) > 24 THEN CONVERT(VARCHAR(8), pow.create_time, 112)
ELSE ''
END batchCode
FROM pro_order_workorder pow
LEFT JOIN pro_order_workorder_batch powb ON pow.workorder_id = powb.workorder_id
WHERE powb.del_flag = '0' AND pow.product_code like '00000001%' and pow.parent_order = '0'
<if test="beginDate != null ">and CONVERT(varchar(10),pow.product_date, 120) >= '${beginDate}'</if>
<if test="endDate != null ">and '${endDate}' >= CONVERT(varchar(10),pow.product_date, 120)</if>
<if test="workOrderCode != null and workOrderCode != ''">and pow.workorder_code like concat('%', #{workOrderCode}, '%')</if>
<if test="status != null and status != ''">and pow.status = #{status}</if>
<if test="materialCode != null and materialCode != ''">and pow.product_code like concat('%', #{materialCode},'%')</if>
ORDER BY pow.workorder_code_sap, powb.batch_code
</select>
<select id="batchCheckDuplication" resultType="com.op.wms.domain.WmsStockAreaEntry" parameterType="list">
SELECT material_code materialCode, batch_code batchCode, factory_code factoryCode, area_code areaCode
FROM wms_material_entry
WHERE CONCAT(material_code, batch_code, factory_code, area_code) IN
<foreach collection="list" item="item" open="(" separator="," close=")">
CONCAT(#{item.materialCode}, #{item.batchCode}, #{item.factoryCode}, #{item.areaCode})
</foreach>
</select>
<insert id="batchInsertMaterialEntry" parameterType="list">
INSERT INTO wms_material_entry (
work_order_code,
material_code,
batch_code,
factory_code,
location,
area_code,
status,
create_time,
create_by
)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.workOrderCode},
#{item.materialCode},
#{item.batchCode},
#{item.factoryCode},
#{item.location},
#{item.areaCode},
#{item.status},
GETDATE(),
#{item.createBy}
)
</foreach>
</insert>
</mapper>

Loading…
Cancel
Save