fix:修复ERP回传物料信息不存在
This commit is contained in:
@@ -1,17 +1,17 @@
|
|||||||
##货位分配原则 出入库
|
##货位分配原则 出入库
|
||||||
|
|
||||||
###1、上轻下重原则
|
###1、上轻下重原则
|
||||||
根据货物重量选择摆放位置。把重的东西放在下层,把轻放在货架上层。需要人工搬运的大型货物以腰部的高度摆放。这样提高效率、保证安全。
|
根据货物重量选择摆放位置。把重的东西放在下层,把轻放在货架上层。需要人工搬运的大型货物以腰部的高度摆放。这样提高效率、保证安全。
|
||||||
###2、优先靠近出入口原则
|
###2、优先靠近出入口原则
|
||||||
根据出入库频率选定位置。出入库频率高的货物应放在靠近出入口,易于作业的地方;流动性差的货物放在离出入口较远的地方;季节性物品按季节特性来选定场所摆放。
|
根据出入库频率选定位置。出入库频率高的货物应放在靠近出入口,易于作业的地方;流动性差的货物放在离出入口较远的地方;季节性物品按季节特性来选定场所摆放。
|
||||||
###3、先进先出原则
|
###3、先进先出原则
|
||||||
一般企业为了加快周转,先入先出一同种物料出库时,先入库的物资,需要先提取出库,以加快物料周转,从而避免因物料长期积压产生锈蚀、变形、变质及其他损坏造成的损失。因此在货位分配时要方便先进物品优先出库。
|
一般企业为了加快周转,先入先出一同种物料出库时,先入库的物资,需要先提取出库,以加快物料周转,从而避免因物料长期积压产生锈蚀、变形、变质及其他损坏造成的损失。因此在货位分配时要方便先进物品优先出库。
|
||||||
###4、同类物品集中原则
|
###4、同类物品集中原则
|
||||||
同一品种同一地方保管。为提高作业效率和保管效率同一物品或类似物品应在同一地方保管,提高仓储工作效率。
|
同一品种同一地方保管。为提高作业效率和保管效率同一物品或类似物品应在同一地方保管,提高仓储工作效率。
|
||||||
###5、多巷道分布原则
|
###5、多巷道分布原则
|
||||||
货位分配是应提高可靠性,分巷道存放一仓库有多个巷道时,同种物品分散在不同的巷道进行存放。以防止因某巷道堵塞影响某种物料的出库,造成生产中断。
|
货位分配是应提高可靠性,分巷道存放一仓库有多个巷道时,同种物品分散在不同的巷道进行存放。以防止因某巷道堵塞影响某种物料的出库,造成生产中断。
|
||||||
###6.超限分配原则:
|
###6.超限分配原则:
|
||||||
对于货位超限:横向/纵向暂用多个货位.高度超限
|
对于货位超限:横向/纵向暂用多个货位.高度超限
|
||||||
|
|
||||||
##规则处理方式:责任链模式
|
##规则处理方式:责任链模式
|
||||||
list->5
|
list->5
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ import java.util.stream.Collectors;
|
|||||||
* @Date 2025/2/6 14:34
|
* @Date 2025/2/6 14:34
|
||||||
* 二楼入库任务
|
* 二楼入库任务
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service("secondFloorInStorage")
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class SecondFloorInStorageTask extends AbstractTask {
|
public class SecondFloorInStorageTask extends AbstractTask {
|
||||||
|
|
||||||
@@ -109,8 +109,7 @@ public class SecondFloorInStorageTask extends AbstractTask {
|
|||||||
QueryWrapper<StIvtStructattr> query = new QueryWrapper<StIvtStructattr>()
|
QueryWrapper<StIvtStructattr> query = new QueryWrapper<StIvtStructattr>()
|
||||||
.eq("is_used", true)
|
.eq("is_used", true)
|
||||||
.eq("lock_type", StatusEnum.LOCK.code("无锁"))
|
.eq("lock_type", StatusEnum.LOCK.code("无锁"))
|
||||||
.eq("stor_code", "FStockId")
|
.eq("stor_code", "CStockId");
|
||||||
.eq("sect_code", "LXHCK01");
|
|
||||||
query.isNull("vehicle_code");
|
query.isNull("vehicle_code");
|
||||||
List<StIvtStructattr> list = iStIvtStructattrService.list(query);
|
List<StIvtStructattr> list = iStIvtStructattrService.list(query);
|
||||||
List<StIvtStructattr> structList = sameBlockNumRuleHandler.handler(list, null);
|
List<StIvtStructattr> structList = sameBlockNumRuleHandler.handler(list, null);
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ public class AcsToWmsService {
|
|||||||
|
|
||||||
public void applyTask(String service,String type,JSONObject data){
|
public void applyTask(String service,String type,JSONObject data){
|
||||||
if (service.equals("InStorage")){
|
if (service.equals("InStorage")){
|
||||||
|
|
||||||
applyTaskMap.get(type).createTask(data);
|
applyTaskMap.get(type).createTask(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package org.nl.wms.flow_manage.flow.service.classprocessimpl;
|
package org.nl.wms.flow_manage.flow.service.classprocessimpl;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
@@ -157,6 +158,9 @@ public class SyncReceiptProcessHandler implements ClassProcess {
|
|||||||
for (int i = 0; i < fEntityArray.size(); i++) {
|
for (int i = 0; i < fEntityArray.size(); i++) {
|
||||||
JSONObject fEntity = fEntityArray.getJSONObject(i);
|
JSONObject fEntity = fEntityArray.getJSONObject(i);
|
||||||
List<MdMeMaterialbase> materialList = iMdMeMaterialbaseService.list(new LambdaQueryWrapper<MdMeMaterialbase>().eq(MdMeMaterialbase::getMaterial_code,JSON.parseObject(fEntity.getString("FMaterialId")).getString("FNumber")));
|
List<MdMeMaterialbase> materialList = iMdMeMaterialbaseService.list(new LambdaQueryWrapper<MdMeMaterialbase>().eq(MdMeMaterialbase::getMaterial_code,JSON.parseObject(fEntity.getString("FMaterialId")).getString("FNumber")));
|
||||||
|
if (ObjectUtil.isEmpty(materialList)) {
|
||||||
|
throw new BadRequestException("回传失败:查询物料信息,物料编码不存在:"+JSON.parseObject(fEntity.getString("FMaterialId")).getString("FNumber"));
|
||||||
|
}
|
||||||
MdMeMaterialbase materialInfo = materialList.get(0);
|
MdMeMaterialbase materialInfo = materialList.get(0);
|
||||||
//没有启用批次号
|
//没有启用批次号
|
||||||
if ("0".equals(materialInfo.getPrint_no())) {
|
if ("0".equals(materialInfo.getPrint_no())) {
|
||||||
|
|||||||
@@ -56,12 +56,17 @@ public class PdaOutController {
|
|||||||
|
|
||||||
public ResponseEntity<List<Map>> orderType() {
|
public ResponseEntity<List<Map>> orderType() {
|
||||||
List<Map> result = new ArrayList<>();
|
List<Map> result = new ArrayList<>();
|
||||||
List<BmFormStruc> list = iBmFormStrucService.list(new QueryWrapper<BmFormStruc>()
|
// List<BmFormStruc> list = iBmFormStrucService.list(new QueryWrapper<BmFormStruc>()
|
||||||
.like("form_desc","出库")
|
// .like("form_desc","出库")
|
||||||
.select("form_type","form_name"));
|
// .select("form_type","form_name"));
|
||||||
for (BmFormStruc formStruc : list) {
|
// for (BmFormStruc formStruc : list) {
|
||||||
result.add(MapOf.of("text",formStruc.getForm_name(),"value",formStruc.getForm_type()));
|
// result.add(MapOf.of("text",formStruc.getForm_name(),"value",formStruc.getForm_type()));
|
||||||
}
|
// }
|
||||||
|
result.add(MapOf.of("text","生产用料清单","value","PRD_PPBOM"));
|
||||||
|
result.add(MapOf.of("text","委外用料清单","value","SUB_PickMtrl"));
|
||||||
|
result.add(MapOf.of("text","直接调拨单","value","STK_TransferDirect"));
|
||||||
|
result.add(MapOf.of("text","简单领料申请单","value","ka7c19edf9d4b4b39b8cc4a06802163b0"));
|
||||||
|
result.add(MapOf.of("text","其他出库单","value","STK_MisDelivery"));
|
||||||
return new ResponseEntity<>(result,HttpStatus.OK);
|
return new ResponseEntity<>(result,HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -232,6 +232,7 @@ public class SyncErpBillsScheduleService {
|
|||||||
filterString += "AND FDocumentStatus = 'C' AND F_PMSY_BillStatus = 'A' AND F_PMSY_CreateDate >= '" + timeStart + " 00:00:00' AND F_PMSY_CreateDate <= '" + timeEnd + " 23:59:59' ";
|
filterString += "AND FDocumentStatus = 'C' AND F_PMSY_BillStatus = 'A' AND F_PMSY_CreateDate >= '" + timeStart + " 00:00:00' AND F_PMSY_CreateDate <= '" + timeEnd + " 23:59:59' ";
|
||||||
} else if ("SAL_SaleOrder".equals(formType)) {
|
} else if ("SAL_SaleOrder".equals(formType)) {
|
||||||
filterString += " AND FDocumentStatus = 'C' AND FCloseStatus ='A' AND FCreateDate >= '" + timeStart + " 00:00:00' and FCreateDate <= '" + timeEnd + " 23:59:59' ";
|
filterString += " AND FDocumentStatus = 'C' AND FCloseStatus ='A' AND FCreateDate >= '" + timeStart + " 00:00:00' and FCreateDate <= '" + timeEnd + " 23:59:59' ";
|
||||||
|
//调拨出入库,采购退料单,销售退货入库单,其他出库单
|
||||||
} else if ("STK_TransferDirect".equals(formType) || "STK_MisDelivery".equals(formType) || "PUR_MRB".equals(formType) || "SAL_RETURNSTOCK".equals(formType)) {
|
} else if ("STK_TransferDirect".equals(formType) || "STK_MisDelivery".equals(formType) || "PUR_MRB".equals(formType) || "SAL_RETURNSTOCK".equals(formType)) {
|
||||||
filterString += " AND FDocumentStatus ='B' AND FCreateDate >= '" + timeStart + " 00:00:00' and FCreateDate <= '" + timeEnd + " 23:59:59' ";
|
filterString += " AND FDocumentStatus ='B' AND FCreateDate >= '" + timeStart + " 00:00:00' and FCreateDate <= '" + timeEnd + " 23:59:59' ";
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -96,7 +96,39 @@
|
|||||||
<appender-ref ref="luceneAppender" />
|
<appender-ref ref="luceneAppender" />
|
||||||
<queueSize>512</queueSize>
|
<queueSize>512</queueSize>
|
||||||
</appender>
|
</appender>
|
||||||
|
<springProfile name="dev">
|
||||||
|
<root level="info">
|
||||||
|
<appender-ref ref="asyncLuceneAppender"/>
|
||||||
|
<appender-ref ref="CONSOLE"/>
|
||||||
|
</root>
|
||||||
|
<logger name="org.nl.wms.system_manage.service.quartz.task" level="ERROR" additivity="true">
|
||||||
|
<appender-ref ref="CONSOLE"/>
|
||||||
|
</logger>
|
||||||
|
<logger name="jdbc" level="ERROR" additivity="true">
|
||||||
|
<appender-ref ref="asyncFileAppender"/>
|
||||||
|
</logger>
|
||||||
|
<logger name="org.springframework" level="ERROR" additivity="true">
|
||||||
|
<appender-ref ref="asyncFileAppender"/>
|
||||||
|
</logger>
|
||||||
|
<logger name="org.hibernate" level="ERROR" additivity="true">
|
||||||
|
<appender-ref ref="asyncFileAppender"/>
|
||||||
|
</logger>
|
||||||
|
<logger name="org.quartz" level="ERROR" additivity="true">
|
||||||
|
<appender-ref ref="asyncFileAppender"/>
|
||||||
|
</logger>
|
||||||
|
<logger name="com.google" level="ERROR" additivity="true">
|
||||||
|
<appender-ref ref="asyncFileAppender"/>
|
||||||
|
</logger>
|
||||||
|
<logger name="org.redisson" level="ERROR" additivity="true">
|
||||||
|
<appender-ref ref="asyncFileAppender"/>
|
||||||
|
</logger>
|
||||||
|
<logger name="org.nl.modules.wql" level="ERROR" additivity="true">
|
||||||
|
<appender-ref ref="asyncFileAppender"/>
|
||||||
|
</logger>
|
||||||
|
<logger name="org.springframework.data" level="ERROR" additivity="true">
|
||||||
|
<appender-ref ref="asyncFileAppender"/>
|
||||||
|
</logger>
|
||||||
|
</springProfile>
|
||||||
<!--开发环境:打印控制台-->
|
<!--开发环境:打印控制台-->
|
||||||
<springProfile name="dev3">
|
<springProfile name="dev3">
|
||||||
<root level="info">
|
<root level="info">
|
||||||
|
|||||||
Reference in New Issue
Block a user