diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml index 9ea8c8d..25e9dbf 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml @@ -75,6 +75,7 @@ INNER JOIN md_me_materialbase material ON material.material_code = form.material_code form.status = '10' + and form.is_merge = '0' and form.form_type = '1001' AND form.is_finish = '0' diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/controller/ErpToWmsController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/controller/ErpToWmsController.java index bab0997..41f4781 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/controller/ErpToWmsController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/controller/ErpToWmsController.java @@ -39,7 +39,7 @@ public class ErpToWmsController { return new ResponseEntity<>(erpToWmsService.erpQueryIvt(whereJson),HttpStatus.OK); } - @PostMapping("/groupplate") + @PostMapping("/groupinfo") @Log("下发组盘信息") @SaIgnore public ResponseEntity sendGroupplate(@RequestBody JSONObject whereJson) { diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/ErpToWmsServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/ErpToWmsServiceImpl.java index 3e29e05..b0ec0ff 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/ErpToWmsServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/ErpToWmsServiceImpl.java @@ -86,6 +86,18 @@ public class ErpToWmsServiceImpl implements ErpToWmsService { @Override public ErpResponse sendGroupplate(JSONObject whereJson) { + /** + * { + * "order_code": "3000000056", + * "order_type": "03", + * "pallet_sn": "zp0000000003", + * "mater_frame": "m01", + * "mater_code": "0345h-fg0001", + * "mater_name": "36μm电镀金刚石切割线", + * "unit_code": "件", + * "qty": "120.00" + * } + */ log.info("sendGroupplate下发组盘接口输入参数为:-------------------" + whereJson.toString()); // 查询仓库 BsrealStorattr storDao = iBsrealStorattrService.findByCode("GW"); @@ -119,37 +131,37 @@ public class ErpToWmsServiceImpl implements ErpToWmsService { .filter(row -> row.getMaterial_code().equals(json.getString("mater_code"))) .findFirst().orElse(null); jsonDtl.setId(IdUtil.getStringId()); - jsonDtl.setCode(json.getString("ext_code")); + jsonDtl.setCode(json.getString("order_code")); jsonDtl.setStatus(IOSEnum.BILL_STATUS.code("生成")); jsonDtl.setStor_id(storDao.getStor_id()); jsonDtl.setStor_name(storDao.getStor_name()); - jsonDtl.setForm_type(json.getString("ext_type")); + jsonDtl.setForm_type(json.getString("order_type")); jsonDtl.setSource_form_date(DateUtil.today()); jsonDtl.setMaterial_code(json.getString("mater_code")); jsonDtl.setMaterial_id(materDao.getMaterial_id()); - jsonDtl.setQty(BigDecimal.valueOf(json.getDoubleValue("quantity"))); - jsonDtl.setPlan_qty(BigDecimal.valueOf(json.getDoubleValue("quantity"))); + jsonDtl.setQty(BigDecimal.valueOf(json.getDoubleValue("qty"))); + jsonDtl.setPlan_qty(BigDecimal.valueOf(json.getDoubleValue("qty"))); MdPbMeasureunit unitDao = unitDaoList.stream() .filter(row -> row.getUnit_code().equals(json.getString("unit_code"))) .findFirst().orElse(null); jsonDtl.setUnit_id(unitDao.getMeasure_unit_id()); jsonDtl.setUnit_name(unitDao.getUnit_name()); - jsonDtl.setVehicle_code(json.getString("vehicle_code")); - jsonDtl.setVehicle_code2(json.getString("vehicle_code2")); + jsonDtl.setVehicle_code(json.getString("pallet_sn")); + jsonDtl.setVehicle_code2(json.getString("mater_frame")); jsonDtl.setCreate_name("ERP"); jsonDtl.setCreate_time(DateUtil.now()); dtlArr.add(jsonDtl); GroupPlate plate = new GroupPlate(); plate.setGroup_id(IdUtil.getStringId()); - plate.setStoragevehicle_code(json.getString("vehicle_code")); + plate.setStoragevehicle_code(json.getString("pallet_sn")); plate.setMaterial_id(materDao.getMaterial_id()); plate.setQty_unit_id(unitDao.getMeasure_unit_id()); plate.setQty_unit_name(unitDao.getUnit_name()); - plate.setQty(BigDecimal.valueOf(json.getDoubleValue("quantity"))); + plate.setQty(BigDecimal.valueOf(json.getDoubleValue("qty"))); plate.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("生成")); - plate.setExt_code(json.getString("ext_code")); - plate.setExt_type(json.getString("ext_type")); + plate.setExt_code(json.getString("order_code")); + plate.setExt_type(json.getString("order_type")); plate.setCreate_name("ERP"); plate.setCreate_time(DateUtil.now()); plates.add(plate); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/controller/PmFormDataController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/controller/PmFormDataController.java index 85a0b22..19d9fa3 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/controller/PmFormDataController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/controller/PmFormDataController.java @@ -81,11 +81,14 @@ public class PmFormDataController { @GetMapping("/getSonFormData/{id}") public ResponseEntity getSonDtlFormData(@PathVariable String id) { - //参数判读,参数解析,调用参数入库 - //Page page = iBmFormStrucService.page(pageQuery.build(), query.build()); return new ResponseEntity<>(iPmFormDataService.getSonDtlFormData(id), HttpStatus.OK); } + @GetMapping("/getdtl/{id}") + public ResponseEntity getdtl(@PathVariable String id) { + return new ResponseEntity<>(iPmFormDataService.getdtl(id), HttpStatus.OK); + } + @PostMapping("/confirmStatus") @SaIgnore @@ -109,6 +112,22 @@ public class PmFormDataController { } + @PostMapping("/tomerge") + @SaIgnore + @Transactional(rollbackFor = Exception.class) + public ResponseEntity tomerge(@RequestBody JSONArray rows) { + iPmFormDataService.tomerge(rows); + return new ResponseEntity<>(HttpStatus.OK); + } + @PostMapping("/dismerge") + @SaIgnore + @Transactional(rollbackFor = Exception.class) + public ResponseEntity dismerge(@RequestBody JSONArray rows) { + iPmFormDataService.dismerge(rows); + return new ResponseEntity<>(HttpStatus.OK); + } + + @GetMapping("/sync/{type}") @Log("单据同步") public ResponseEntity sync(@RequestParam String type, String formDtl) { diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/IPmFormDataService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/IPmFormDataService.java index 7f84394..c49190f 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/IPmFormDataService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/IPmFormDataService.java @@ -1,6 +1,7 @@ package org.nl.wms.pm_manage.service; +import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.common.domain.query.PageQuery; @@ -38,6 +39,10 @@ public interface IPmFormDataService extends IService { */ void update(PmFormDataParam params); + void tomerge(JSONArray rows); + + void dismerge(JSONArray rows); + List getByType(String from_type); @@ -52,6 +57,8 @@ public interface IPmFormDataService extends IService { */ Object getSonDtlFormData(String id); + List getdtl(String parent_id); + void dynamicSql(String sql); List getByParentId(String...parent_id); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dao/PmFormData.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dao/PmFormData.java index 2d165c2..9169f04 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dao/PmFormData.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dao/PmFormData.java @@ -16,12 +16,11 @@ import java.math.BigDecimal; * @since 2025-06-27 */ @Data -@EqualsAndHashCode(callSuper = true) +@EqualsAndHashCode(callSuper = false) @TableName("pm_form_data") -public class PmFormData extends Model { +public class PmFormData implements Serializable { private static final long serialVersionUID = -7739291296662381393L; - //@TableId(type = IdType.ASSIGN_ID) /** @@ -159,16 +158,17 @@ public class PmFormData extends Model { */ private Integer is_finish; + /** + * 是否合单 + */ + private String is_merge; /** - * 获取主键值 - * - * @return 主键值 + * 源单字符串集 */ - @Override - protected Serializable pkVal() { - return this.id; - } + private String merge_codes; + + private String new_merge_flag; } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dto/PmFormDataDto.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dto/PmFormDataDto.java index 9f65800..fc766bb 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dto/PmFormDataDto.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dto/PmFormDataDto.java @@ -42,6 +42,10 @@ public class PmFormDataDto implements Serializable { * 源单单据日期 */ private String source_form_date; + /** + * 物料code + */ + private String material_id; /** * 物料code */ @@ -133,6 +137,17 @@ public class PmFormDataDto implements Serializable { * 是否完结 */ private Integer is_finish; + /** + * 是否合单 + */ + private String is_merge; + + /** + * 源单字符串集 + */ + private String merge_codes; + + private String new_merge_flag; /** * 关联上级表单id diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/impl/PmFormDataServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/impl/PmFormDataServiceImpl.java index 561aa7a..56ae209 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/impl/PmFormDataServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/impl/PmFormDataServiceImpl.java @@ -2,8 +2,12 @@ package org.nl.wms.pm_manage.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; @@ -27,6 +31,7 @@ import org.nl.wms.pm_manage.service.dto.PmFormDataDto; import org.nl.wms.pm_manage.service.dto.PmFormDataParam; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import org.nl.wms.pm_manage.service.IPmFormDataService; import org.springframework.util.CollectionUtils; @@ -194,6 +199,17 @@ public class PmFormDataServiceImpl extends ServiceImpl getdtl(String id) { + if (StringUtils.isEmpty(id)) { + throw new BadRequestException("请求参数不能为空"); + } + PmFormData form = pmFormDataMapper.selectById(id); + String[] codes = form.getMerge_codes().split(","); + + return this.list(new QueryWrapper().in("code", codes)); + } + @Override @@ -209,6 +225,61 @@ public class PmFormDataServiceImpl extends ServiceImpl() + .set("is_merge","0") + .in("code",codes) + ); + pmFormDataMapper.deleteById(form.getId()); + } + } + @Override public List getByParentId(String[] parent_id) { Assert.notNull(parent_id, "请求参数不能为空"); diff --git a/nladmin-ui/src/views/wms/pm_manage/form_data2/ViewDialog.vue b/nladmin-ui/src/views/wms/pm_manage/form_data2/ViewDialog.vue new file mode 100644 index 0000000..b949db8 --- /dev/null +++ b/nladmin-ui/src/views/wms/pm_manage/form_data2/ViewDialog.vue @@ -0,0 +1,175 @@ + + + + + + diff --git a/nladmin-ui/src/views/wms/pm_manage/form_data2/formData.js b/nladmin-ui/src/views/wms/pm_manage/form_data2/formData.js new file mode 100644 index 0000000..3df19cf --- /dev/null +++ b/nladmin-ui/src/views/wms/pm_manage/form_data2/formData.js @@ -0,0 +1,70 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/pmFormData', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/pmFormData', + method: 'delete', + data: ids + }) +} + +export function edit(data) { + return request({ + url: 'api/pmFormData', + method: 'put', + data + }) +} + +export function getFormType() { + return request({ + url: 'api/bmFormStruc/getTypes', + method: 'get' + }) +} + +export function getParentFormTypes() { + return request({ + url: 'api/bmFormStruc/getParentFormTypes', + method: 'get' + }) +} + +export function getSonFormData(id) { + return request({ + url: 'api/pmFormData/getSonFormData/' + id, + method: 'get' + }) +} + +export function getdtl(id) { + return request({ + url: 'api/pmFormData/getdtl/' + id, + method: 'get' + }) +} + +export function tomerge(data) { + return request({ + url: '/api/pmFormData/tomerge', + method: 'post', + data + }) +} + +export function dismerge(data) { + return request({ + url: '/api/pmFormData/dismerge', + method: 'post', + data + }) +} +export default { add, edit, del, getParentFormTypes, getSonFormData, dismerge, tomerge, getdtl } diff --git a/nladmin-ui/src/views/wms/pm_manage/form_data2/index.vue b/nladmin-ui/src/views/wms/pm_manage/form_data2/index.vue new file mode 100644 index 0000000..b746f55 --- /dev/null +++ b/nladmin-ui/src/views/wms/pm_manage/form_data2/index.vue @@ -0,0 +1,264 @@ + + + + +