Merge remote-tracking branch 'origin/master_merge' into master_merge

This commit is contained in:
zhangzq
2025-04-10 19:44:59 +08:00
10 changed files with 89 additions and 17 deletions

View File

@@ -219,6 +219,12 @@ public class SlitterPdaController {
public ResponseEntity<Object> showManualView(@RequestBody JSONObject param) {
return new ResponseEntity<>(slitterDevices.showManualView(param), HttpStatus.OK);
}
@PostMapping("/urgentPlan")
@Log("加急送轴")
@SaIgnore
public ResponseEntity<Object> urgentPlan(@RequestBody JSONObject param) {
return new ResponseEntity<>(slitterDevices.urgentPlan(param), HttpStatus.OK);
}
@PostMapping("/rollCacheManage")
@Log("母卷暂存架子管理")
@SaIgnore

View File

@@ -136,6 +136,7 @@ public class TwoLashTask extends AbstractAcsTask {
.task_type(json.getString("acs_task_type"))
.start_device_code(json.getString("point_code1"))
.next_device_code(json.getString("point_code2"))
.vehicle_code(json.getString("vehicle_code"))
.vehicle_code2(json.getString("vehicle_code"))
.route_plan_code(getRoutePlanCode(json.getString("point_code1")))
.priority(json.getString("priority"))

View File

@@ -138,6 +138,7 @@
</select>
<select id="showManualView" resultType="org.nl.b_lms.sch.tasks.slitter.mapper.dto.CallPlanViewVO">
SELECT
p.workorder_id,
p.resource_name,
CASE
WHEN LENGTH(p.parent_container_name) > 0 THEN
@@ -161,6 +162,7 @@
AND '1' = (SELECT c.is_used FROM st_ivt_cutpointivt c WHERE c.ext_code = p.resource_name)
AND p.parent_container_name LIKE '%虚拟-B%'
GROUP BY
p.workorder_id,
p.resource_name,
p.parent_container_name,
p.restruct_container_name,

View File

@@ -10,6 +10,10 @@ import java.io.Serializable;
*/
@Data
public class CallPlanViewVO implements Serializable {
/**
* uuid
*/
private String workorder_id;
/**
* 分切设备
*/

View File

@@ -314,6 +314,13 @@ public interface SlitterService {
*/
List<CallPlanViewVO> showManualView(JSONObject param);
/**
* 加急送轴
* @param param
* @return
*/
JSONObject urgentPlan(JSONObject param);
/**
* 子卷下料2
* @param param

View File

@@ -2181,7 +2181,34 @@ public class SlitterServiceImpl implements SlitterService {
public List<CallPlanViewVO> showManualView(JSONObject param) {
return slitterMapper.showManualView();
}
@Override
public JSONObject urgentPlan(JSONObject param) {
JSONObject res = new JSONObject();
log.info("加急送轴的输入参数为:{}", param);
String workorder_id = param.getString("workorder_id");
PdmBiSlittingproductionplan plan = slittingproductionplanService.getById(workorder_id);
log.info("当前加急送轴的计划为:{}", plan);
if(!"01".equals(plan.getStatus())){
res.put("status", HttpStatus.HTTP_OK);
res.put("message", "加急失败,当前计划正在套轴!");
return res;
}
//更新套轴计划开始时间为当前时间
LambdaUpdateWrapper<PdmBiSlittingproductionplan> updateWrapper = new LambdaUpdateWrapper<PdmBiSlittingproductionplan>();
updateWrapper.set(PdmBiSlittingproductionplan::getStart_time, DateUtil.now())
.eq(PdmBiSlittingproductionplan::getWorkorder_id, workorder_id)
.eq(PdmBiSlittingproductionplan::getIs_delete, SlitterConstant.SLITTER_NO);
//判断更新是否成功
boolean flag = slittingproductionplanService.update(updateWrapper);
if(flag){
res.put("status", HttpStatus.HTTP_OK);
res.put("message", "加急成功!");
}else{
res.put("status", HttpStatus.HTTP_OK);
res.put("message", "加急失败,请刷新再试!");
}
return res;
}
@Override
public JSONObject downRolls2(JSONObject param) {
log.info("下卷2的输入参数为{}", param);

View File

@@ -69,4 +69,8 @@ public class MdpbBoxtype implements Serializable {
* 箱体结构
*/
private String box_structure;
/**
* 干燥机数量
*/
private Integer desiccant_num;
}

View File

@@ -36,7 +36,9 @@ import org.nl.b_lms.sch.tasks.first_floor_area.MzhcwTask;
import org.nl.b_lms.sch.tasks.first_floor_area.SsxDjwTask;
import org.nl.b_lms.sch.tasks.slitter.service.SlitterService;
import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService;
import org.nl.b_lms.storage_manage.database.service.IMdpbBoxtypeService;
import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo;
import org.nl.b_lms.storage_manage.database.service.dao.MdpbBoxtype;
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
import org.nl.b_lms.storage_manage.ios.enums.TASKEnum;
import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvOutService;
@@ -157,6 +159,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@Resource
private SsxDjwTask ssxDjwTask;
@Autowired
private IMdpbBoxtypeService iMdpbBoxtypeService;
@Autowired
private ISysParamService iSysParamService;
@@ -2750,13 +2754,21 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
//获取包装关系
JSONObject sub_jo = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + material_barcode + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(sub_jo)) {
String material_type = sub_jo.getString("material_type");
if (material_type.equals("FG1")) {
desiccantTemplate = "6";
//木箱类型
String box_type = sub_jo.getString("box_type");
if(ObjectUtil.isEmpty(box_type)){
throw new BadRequestException("未查询到木箱号【" + material_barcode + "】对应的包装关系缺少木箱类型信息!");
}
if (material_type.equals("FG2")) {
desiccantTemplate = "4";
//查询木箱类型数据
LambdaQueryWrapper<MdpbBoxtype> queryWrapper = new QueryWrapper<MdpbBoxtype>().lambda();
queryWrapper.eq(MdpbBoxtype::getBox_type,box_type);
MdpbBoxtype boxType = iMdpbBoxtypeService.getOne(queryWrapper);
if(ObjectUtil.isEmpty(boxType)){
throw new BadRequestException("未查询到木箱类型【" + box_type + "】信息!");
}
desiccantTemplate = String.valueOf(boxType.getDesiccant_num());
}else{
throw new BadRequestException("未查询到木箱号【" + material_barcode + "】对应的包装关系!");
}
//根据木箱高度,判断入库仓位的高度
String height = "";

View File

@@ -47,7 +47,6 @@
</crudOperation>
<!--表单组件-->
<el-dialog
:close-on-click-modal="false"
:before-close="crud.cancelCU"
:visible.sync="crud.status.cu > 0"
:title="crud.status.title"
@@ -109,6 +108,11 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="干燥剂数量:" prop="desiccant_num">
<el-input-number :precision="0" :step="1" :min="0" :max="100" v-model="form.desiccant_num" size="mini" :controls="true" style="width: 200px" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
@@ -174,13 +178,14 @@
>
<el-table-column prop="box_type" sortable label="木箱类型" />
<el-table-column prop="box_name" label="木箱描述" width="150" />
<el-table-column prop="lash_num" label="捆扎模版" width="150" />
<el-table-column prop="lash_num_one" label="一次捆扎次数" width="150" />
<el-table-column prop="lash_num_tow" label="二次捆扎次数" width="150" />
<el-table-column prop="need_lash_one" label="是否一次捆扎" width="150" :formatter="formatOne" />
<el-table-column prop="need_lash_two" label="是否二次捆扎" width="150" :formatter="formatTwo" />
<el-table-column prop="expend_width" label="叉车取货宽度" width="150" />
<el-table-column prop="box_structure" label="箱体结构" width="150" :formatter="boxType"/>
<el-table-column prop="lash_num" label="捆扎模版" width="100" />
<el-table-column prop="lash_num_one" label="一次捆扎次数" width="100" />
<el-table-column prop="lash_num_tow" label="二次捆扎次数" width="100" />
<el-table-column prop="need_lash_one" label="是否一次捆扎" width="100" :formatter="formatOne" />
<el-table-column prop="need_lash_two" label="是否二次捆扎" width="100" :formatter="formatTwo" />
<el-table-column prop="expend_width" label="叉车取货宽度" width="100" />
<el-table-column prop="box_structure" label="箱体结构" width="100" :formatter="boxType"/>
<el-table-column prop="desiccant_num" label="干燥剂数量" width="100"/>
<el-table-column
v-permission="['admin','sectattr:edit','sectattr:del']"
label="操作"
@@ -218,7 +223,8 @@ const defaultForm = {
lash_num_tow: null,
need_lash_one: '0',
need_lash_two: '0',
box_structure: null
box_structure: null,
desiccant_num: 6
}
export default {
name: 'BoxType',
@@ -231,7 +237,7 @@ export default {
optShow: { add: true, reset: true },
url: 'api/boxtype',
idField: 'box_type',
sort: 'box_type,desc',
sort: '',
crudMethod: { ...crudBoxtype }
})
},
@@ -272,6 +278,9 @@ export default {
updateOne() {
this.dialogVisible2 = true
},
close() {
this.dialogVisible2 = false
},
confirmUpdate() {
crudBoxtype.confirmUpdate(this.formMst).then(res => {
this.dialogVisible2 = false

View File

@@ -454,7 +454,7 @@
/>
<el-table-column sortable prop="sap_pcsn" label="sap批次" :min-width="flexWidth('sap_pcsn',crud.data,'SAP批次')" />
<el-table-column prop="width" label="产品规格(幅宽)" :min-width="flexWidth('width',crud.data,'产品规格(幅宽)')" />
<el-table-column prop="width_standard" :formatter="crud.formatNum0" label="客户要求幅宽" :min-width="flexWidth('width_standard',crud.data,'客户要求幅宽')" />
<el-table-column prop="width_standard" :formatter="crud.formatNum3" label="客户要求幅宽" :min-width="flexWidth('width_standard',crud.data,'客户要求幅宽')" />
<el-table-column prop="thickness" label="产品厚度" :min-width="flexWidth('thickness',crud.data,'产品厚度')" />
<el-table-column
prop="mass_per_unit_area"