rev:一体机半成品入库,半成品出库

This commit is contained in:
2023-07-03 16:33:04 +08:00
parent 128272a27d
commit ca68079d6f
15 changed files with 112 additions and 34 deletions

View File

@@ -1,8 +1,10 @@
package org.nl.wms.masterdata_manage.service.material;
import com.alibaba.fastjson.JSONObject;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.masterdata_manage.service.material.dao.MdMeMaterialbase;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.wms.storage_manage.pda.service.dto.PdaQuery;
import java.util.List;
@@ -16,5 +18,5 @@ import java.util.List;
*/
public interface IMdMeMaterialbaseService extends IService<MdMeMaterialbase> {
List getPdaBcpGetMaterial(JSONObject whereJson);
List getPdaBcpGetMaterial(PdaQuery whereJson, PageQuery pageQuery);
}

View File

@@ -2,7 +2,10 @@ package org.nl.wms.masterdata_manage.service.material.dao.mapper;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.masterdata_manage.service.material.dao.MdMeMaterialbase;
import org.nl.wms.storage_manage.pda.service.dto.PdaQuery;
import java.util.List;
import java.util.Map;
@@ -17,5 +20,5 @@ import java.util.Map;
*/
public interface MdMeMaterialbaseMapper extends BaseMapper<MdMeMaterialbase> {
List<Map> getPdaBcpGetMaterial(JSONObject map);
List<Map> getPdaBcpGetMaterial(@Param("query") PdaQuery map, @Param("pageQuery") PageQuery pageQuery);
}

View File

@@ -4,16 +4,20 @@
<select id="getPdaBcpGetMaterial" resultType="java.util.Map">
SELECT
*
mater.*,
unit.unit_name,
class.class_name AS class_code
FROM
md_me_materialbase
md_me_materialbase mater
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = mater.base_unit_id
LEFT JOIN md_pb_classstandard class ON class.class_id = mater.material_type_id
WHERE
1 = 1
<if test="material_code != null and material_code != ''">
AND (material_code LIKE '%${material_code}%' or
material_name LIKE '%${material_code}%')
<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}%')
</if>
order by material_code ASC
order by mater.material_code ASC
</select>
</mapper>

View File

@@ -2,9 +2,11 @@ package org.nl.wms.masterdata_manage.service.material.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.common.domain.query.PageQuery;
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.material.dao.mapper.MdMeMaterialbaseMapper;
import org.nl.wms.storage_manage.pda.service.dto.PdaQuery;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -21,7 +23,7 @@ import java.util.List;
public class MdMeMaterialbaseServiceImpl extends ServiceImpl<MdMeMaterialbaseMapper, MdMeMaterialbase> implements IMdMeMaterialbaseService {
@Override
public List getPdaBcpGetMaterial(JSONObject whereJson) {
return this.baseMapper.getPdaBcpGetMaterial(whereJson);
public List getPdaBcpGetMaterial(PdaQuery whereJson, PageQuery pageQuery) {
return this.baseMapper.getPdaBcpGetMaterial(whereJson,pageQuery);
}
}

View File

@@ -17,6 +17,8 @@ public enum PDAEnum {
SECT_CODE(MapOf.of("半成品库区", "KQ005")),
//库区id
SECT_ID(MapOf.of("成品库区", "1528631043496742912")),
//物料类别
MATERIAL_CLASS(MapOf.of("管件原材料", "1503644349995552768","管件半成品", "1528555443906023424","管件成品", "1528555444031852544")),
;
private Map<String, String> code;

View File

@@ -4,7 +4,9 @@ package org.nl.wms.storage_manage.pda.controller;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiOperation;
import org.nl.common.anno.Log;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.storage_manage.pda.service.PdaStBcpInService;
import org.nl.wms.storage_manage.pda.service.dto.PdaQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -52,8 +54,8 @@ public class PdaStBcpInController {
@PostMapping("/getMaterial")
@Log("查询物料")
@ApiOperation("查询物料")
public ResponseEntity<Object> getMaterial(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(pdaStBcpInService.getMaterial(whereJson), HttpStatus.OK);
public ResponseEntity<Object> getMaterial(@RequestBody JSONObject whereJson, PageQuery pageQuery) {
return new ResponseEntity<>(pdaStBcpInService.getMaterial(whereJson,pageQuery), HttpStatus.OK);
}
@PostMapping("/callVehicle")

View File

@@ -57,8 +57,8 @@ public class PdaStBcpOutController {
}
@PostMapping("/createIn")
@Log("确认")
@ApiOperation("确认")
@Log("确认")
@ApiOperation("确认")
public ResponseEntity<Object> createIn(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(pdaStBcpOutService.createIn(whereJson), HttpStatus.OK);
}

View File

@@ -1,6 +1,8 @@
package org.nl.wms.storage_manage.pda.service;
import com.alibaba.fastjson.JSONObject;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.storage_manage.pda.service.dto.PdaQuery;
/**
* <p>
@@ -29,7 +31,7 @@ public interface PdaStBcpInService {
* @param whereJson /
* @return JSONObject /
*/
JSONObject getMaterial(JSONObject whereJson);
JSONObject getMaterial(JSONObject whereJson, PageQuery pageQuery);
/**
* 查询入库点下拉框

View File

@@ -0,0 +1,25 @@
package org.nl.wms.storage_manage.pda.service.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.semimanage.service.shutFrame.dao.StIvtShutframeinvBcp;
/*
* @author ZZQ
* @Date 2023/5/4 19:49
*/
@Data
public class PdaQuery extends BaseQuery<StIvtShutframeinvBcp> {
private String material_code;
@Override
public void paramMapping() {
super.doP.put("material_code", QParam.builder().k(new String[]{"material_code"}).type(QueryTEnum.LK).build());
}
}

View File

@@ -10,6 +10,10 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
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.enums.AcsTaskEnum;
import org.nl.common.publish.BussEventMulticaster;
import org.nl.common.publish.event.PointEvent;
@@ -17,6 +21,7 @@ import org.nl.common.utils.IdUtil;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.util.SpringContextHolder;
import org.nl.wms.ext.acs.service.WmsToAcsService;
import org.nl.wms.masterdata_manage.master.service.classstandard.IMdPbClassstandardService;
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;
@@ -25,6 +30,7 @@ import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtBsrealstorattr
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.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
import org.nl.wms.masterdata_manage.备份master.constant.MaterOptTypeEnum;
import org.nl.wms.product_manage.sch.manage.TaskStatusEnum;
import org.nl.wms.scheduler_manage.service.point.ISchBasePointService;
import org.nl.wms.scheduler_manage.service.point.dao.SchBasePoint;
@@ -34,16 +40,21 @@ import org.nl.wms.storage_manage.IOSEnum;
import org.nl.wms.storage_manage.IVTEnum;
import org.nl.wms.storage_manage.pda.PDAEnum;
import org.nl.wms.storage_manage.pda.service.PdaStBcpInService;
import org.nl.wms.storage_manage.pda.service.dto.PdaQuery;
import org.nl.wms.storage_manage.semimanage.service.iostorInv.IStIvtIostorinvBcpService;
import org.nl.wms.system_manage.service.dict.ISysDictService;
import org.nl.wms.system_manage.service.dict.dao.Dict;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;
import java.util.stream.Collectors;
/**
* <p>
@@ -80,6 +91,9 @@ public class PdaStBcpInServiceImpl implements PdaStBcpInService {
@Autowired
private IStIvtIostorinvBcpService iStIvtIostorinvBcpService; // PC半成品入库服务
@Autowired
private IMdPbClassstandardService iMdPbClassstandardService; // 类别服务
@Override
public JSONObject getBcpStor() {
List<StIvtBsrealstorattr> storList = storattrService.list(
@@ -105,8 +119,25 @@ public class PdaStBcpInServiceImpl implements PdaStBcpInService {
}
@Override
public JSONObject getMaterial(JSONObject whereJson) {
List list = iMdMeMaterialbaseService.getPdaBcpGetMaterial(whereJson);
public JSONObject getMaterial(JSONObject whereJson1, PageQuery pageQuery) {
PdaQuery whereJson = new PdaQuery();
whereJson.setMaterial_code(whereJson1.getString("material_code"));
int size = whereJson1.getIntValue("size");
// 处理物料分类 list1.size() < size ? list1.size() : size
Set<String> childIdStr = iMdPbClassstandardService.getAllChildIdSet(PDAEnum.MATERIAL_CLASS.code("管件半成品"));
List list = new ArrayList<>();
if (ObjectUtil.isEmpty(whereJson1.getString("material_code"))) {
List<MdMeMaterialbase> list1 = iMdMeMaterialbaseService.list(
new QueryWrapper<MdMeMaterialbase>().lambda()
.in(MdMeMaterialbase::getMaterial_type_id, childIdStr)
);
list = list1.subList(0, Math.min(list1.size(), size));
} else {
List list1 = iMdMeMaterialbaseService.getPdaBcpGetMaterial(whereJson, pageQuery);
list = list1.subList(0, Math.min(list1.size(), size));
}
JSONObject result = new JSONObject();
result.put("data", JSONArray.parseArray(JSON.toJSONString(list)));
@@ -200,7 +231,8 @@ public class PdaStBcpInServiceImpl implements PdaStBcpInService {
@Override
@Transactional
public JSONObject createIn(JSONObject whereJson) {
public JSONObject createIn(JSONObject from) {
JSONObject whereJson = from.getJSONObject("from");
// 组织数据
JSONObject param = new JSONObject();
@@ -253,7 +285,7 @@ public class PdaStBcpInServiceImpl implements PdaStBcpInService {
@Override
@Transactional
public JSONObject confirm(JSONObject whereJson) {
iStIvtIostorinvBcpService.confirm(whereJson);
iStIvtIostorinvBcpService.confirm(whereJson.getJSONObject("row"));
JSONObject result = new JSONObject();
result.put("data", "");
@@ -278,6 +310,8 @@ public class PdaStBcpInServiceImpl implements PdaStBcpInService {
structattrService.update(
new UpdateWrapper<StIvtStructattr>().lambda()
.set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
.set(StIvtStructattr::getIs_emptyvehicle,false)
.set(StIvtStructattr::getStoragevehicle_code,"")
.eq(StIvtStructattr::getStruct_code, taskDao.getPoint_code1())
);
@@ -293,6 +327,8 @@ public class PdaStBcpInServiceImpl implements PdaStBcpInService {
structattrService.update(
new UpdateWrapper<StIvtStructattr>().lambda()
.set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
.set(StIvtStructattr::getIs_emptyvehicle,false)
.set(StIvtStructattr::getStoragevehicle_code,"")
.eq(StIvtStructattr::getStruct_code, taskDao.getPoint_code1())
);
}

View File

@@ -120,7 +120,9 @@ public class PdaStBcpOutServiceImpl implements PdaStBcpOutService {
@Override
@Transactional
public JSONObject createIn(JSONObject whereJson) {
public JSONObject createIn(JSONObject whereJson1) {
JSONObject whereJson = whereJson1.getJSONObject("from");
// 组织数据
JSONObject param = new JSONObject();
param.put("biz_date", DateUtil.today());
@@ -185,7 +187,8 @@ public class PdaStBcpOutServiceImpl implements PdaStBcpOutService {
@Override
@Transactional
public JSONObject confirm(JSONObject whereJson) {
iStIvtIostorinvBcpOutService.confirm(whereJson);
JSONObject row = whereJson.getJSONObject("row");
iStIvtIostorinvBcpOutService.confirm(row);
JSONObject result = new JSONObject();
result.put("data", "");

View File

@@ -9,7 +9,7 @@
mater.material_spec,
task.task_code,
task.task_status,
(dtl.unit_weight * dtl.plan_qty) AS weight_qty
ROUND((dtl.plan_qty * 1000) / dtl.unit_weight,3 ) AS weight_qty
FROM
st_ivt_iostorinv_bcp dtl
LEFT JOIN md_me_materialbase mater ON mater.material_id = dtl.material_id
@@ -49,7 +49,7 @@
dtl.*,
mater.material_code,
mater.material_spec,
dtl.plan_qty / dtl.unit_weight AS qty
ROUND((dtl.plan_qty * 1000) / dtl.unit_weight,3) AS qty
FROM
st_ivt_iostorinv_bcp dtl
LEFT JOIN md_me_materialbase mater ON mater.material_id = dtl.material_id
@@ -63,12 +63,7 @@
<if test="stor_id != null and stor_id != ''">
and dtl.stor_id = #{stor_id}
</if>
<if test="begin_time != null and begin_time != ''">
and dtl.create_time &lt;= #{begin_time}
</if>
<if test="end_time != null and end_time != ''">
and dtl.create_time &gt;= #{end_time}
</if>
<if test="material_code != null and material_code != ''">
and (mater.material_code LIKE '%${material_code}%' or
mater.material_name LIKE '%${material_code}%')

View File

@@ -172,10 +172,12 @@
<select id="getPdaBcpIvt" resultType="java.util.Map">
SELECT
ivt.*,
ivt.canuse_qty AS total_qty,
mater.material_code,
mater.material_name,
mater.material_spec,
unit.unit_name,
ROUND((ivt.canuse_qty * 1000 )/ mater.net_weight,3) AS qty,
attr.struct_name,
attr.sect_code,
attr.sect_name,
@@ -187,7 +189,7 @@
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
attr.lock_type = '0'
<if test="material_code!= null and material_code != ''">
and mater.material_code LIKE '%${material_code}%' or
(mater.material_name LIKE '%${material_code}%') or

View File

@@ -161,8 +161,8 @@
<!-- <el-table-column show-overflow-tooltip prop="base_bill_code" min-width="120" label="关联单据号" />-->
<el-table-column show-overflow-tooltip min-width="120" prop="material_code" label="物料编码" />
<el-table-column show-overflow-tooltip min-width="120" prop="material_spec" label="物料规格" />
<el-table-column show-overflow-tooltip min-width="120" prop="weight_qty" label="总重量" />
<el-table-column show-overflow-tooltip min-width="120" prop="plan_qty" label="总数量" />
<el-table-column show-overflow-tooltip min-width="120" prop="plan_qty" label="总重量" />
<el-table-column show-overflow-tooltip min-width="120" prop="weight_qty" label="总数量" />
<el-table-column show-overflow-tooltip min-width="120" prop="unit_weight" label="单重" />
<el-table-column show-overflow-tooltip min-width="120" prop="storagevehicle_code" label="载具号" />
<el-table-column show-overflow-tooltip min-width="120" prop="point_code" label="入库点" />

View File

@@ -160,8 +160,8 @@
<el-table-column show-overflow-tooltip prop="bill_type" min-width="120" label="业务类型" :formatter="bill_typeFormat" />
<el-table-column show-overflow-tooltip min-width="120" prop="material_code" label="物料编码" />
<el-table-column show-overflow-tooltip min-width="120" prop="material_spec" label="物料规格" />
<el-table-column show-overflow-tooltip min-width="120" prop="weight_qty" label="总重量" />
<el-table-column show-overflow-tooltip min-width="120" prop="plan_qty" label="总数量" />
<el-table-column show-overflow-tooltip min-width="120" prop="plan_qty" label="总重量" />
<el-table-column show-overflow-tooltip min-width="120" prop="weight_qty" label="总数量" />
<el-table-column show-overflow-tooltip min-width="120" prop="qty_unit_name" label="单位" />
<el-table-column show-overflow-tooltip min-width="120" prop="point_code" label="出库点" />
<el-table-column show-overflow-tooltip min-width="120" prop="struct_code" label="分配货位" />