diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/controller/PurchaseController.java b/src/main/java/com/bonus/aqgqj/business/backstage/controller/PurchaseController.java index 5b6a0d9..3842fe4 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/controller/PurchaseController.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/controller/PurchaseController.java @@ -251,6 +251,19 @@ public class PurchaseController { return service.getPurchaseDetails(dto.getData()); } + /** + * 采购详情查看 + * + * @param dto + * @return + */ + @PostMapping("getPurchaseDetail") + @DecryptAndVerify(decryptedClass = OutPlanVo.class) + public ServerResponse getPurchaseDetail(EncryptedReq dto) { + return service.getPurchaseDetail(dto.getData()); + } + + @PostMapping("deleteDetail/{id}") public AjaxResult deleteDetail(@PathVariable Long id) { return service.deleteDetail(id); diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/entity/OutBatchVo.java b/src/main/java/com/bonus/aqgqj/business/backstage/entity/OutBatchVo.java new file mode 100644 index 0000000..e5e1e7d --- /dev/null +++ b/src/main/java/com/bonus/aqgqj/business/backstage/entity/OutBatchVo.java @@ -0,0 +1,30 @@ +package com.bonus.aqgqj.business.backstage.entity; + +import io.swagger.models.auth.In; +import lombok.Data; + +import java.util.Date; + +/** + * @author 马三炮 + * @date 2026/2/6 + */ +@Data +public class OutBatchVo { + + private Integer id; + + private Integer applyId; + + private String uuid; + + private Date createDate; + + private String cgNum; + + private String lkNum; + + private String modelId; + + private String supId; +} diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/entity/OutPlanVo.java b/src/main/java/com/bonus/aqgqj/business/backstage/entity/OutPlanVo.java index 5aadc2d..7711623 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/entity/OutPlanVo.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/entity/OutPlanVo.java @@ -127,4 +127,9 @@ public class OutPlanVo extends ParentVo { * 派车状态 0 为派车 1已派车 */ private String outStatus; + + private List outPlanVoList; + + + private String uuid; } diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/entity/OutPlanVoDetails.java b/src/main/java/com/bonus/aqgqj/business/backstage/entity/OutPlanVoDetails.java index 831303f..fd398d2 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/entity/OutPlanVoDetails.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/entity/OutPlanVoDetails.java @@ -99,7 +99,7 @@ public class OutPlanVoDetails { private String supName; - + private String uuid; diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/entity/OutPlanVoSupInfo.java b/src/main/java/com/bonus/aqgqj/business/backstage/entity/OutPlanVoSupInfo.java index ae3973f..afff1c1 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/entity/OutPlanVoSupInfo.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/entity/OutPlanVoSupInfo.java @@ -99,4 +99,6 @@ public class OutPlanVoSupInfo { private String status; + private String uuid; + } diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/mapper/MaTypeMapper.java b/src/main/java/com/bonus/aqgqj/business/backstage/mapper/MaTypeMapper.java index c26f141..d6eefda 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/mapper/MaTypeMapper.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/mapper/MaTypeMapper.java @@ -1,6 +1,7 @@ package com.bonus.aqgqj.business.backstage.mapper; import com.bonus.aqgqj.business.backstage.entity.MaTypeVo; +import com.bonus.aqgqj.business.backstage.entity.OutBatchVo; import org.springframework.stereotype.Repository; import java.util.List; @@ -100,4 +101,8 @@ public interface MaTypeMapper { * @param maTypeVo */ void updateMatypeNum(MaTypeVo maTypeVo); -} \ No newline at end of file + + int insertOutBatchData(OutBatchVo outBatchVo); + + void updateOutBatchData(OutBatchVo batchVo); +} diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/mapper/PurchaseMapper.java b/src/main/java/com/bonus/aqgqj/business/backstage/mapper/PurchaseMapper.java index ac599e7..772d9b0 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/mapper/PurchaseMapper.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/mapper/PurchaseMapper.java @@ -252,4 +252,9 @@ public interface PurchaseMapper { * @return */ int delStPlanOutSupData(String id); + + + List getOutBatchList(OutPlanVo vo); + + OutPlanVo getPurchaseDetail(OutPlanVo data); } diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseService.java b/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseService.java index 00140a1..6c17a14 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseService.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseService.java @@ -138,4 +138,6 @@ public interface PurchaseService { * @return */ ServerResponse addPurchaseDataBySupplementAndTemporary(HttpServletRequest request, MultipartFile[] files); + + ServerResponse getPurchaseDetail(OutPlanVo data); } diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseServiceImpl.java b/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseServiceImpl.java index e39fe2b..6e126ce 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseServiceImpl.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseServiceImpl.java @@ -326,10 +326,11 @@ public class PurchaseServiceImpl implements PurchaseService { return ServerResponse.createErroe("文件上传失败!"); } } - + String uuid = UUID.randomUUID().toString().replace("-", ""); for (OutPlanVoDetails details : detailsList) { details.setOutId(outPlanVo.getId()); int num = mapper.insertPurchaseDetailsData(details); + if (num != 1) { return ServerResponse.createErroe("新增失败数据异常,请稍后重试"); } @@ -341,10 +342,20 @@ public class PurchaseServiceImpl implements PurchaseService { info.setSupId("10086"); info.setSupName("库存发出"); } - } - int succ = mapper.insertPurchaseDetailsSupData(details, supInfoList); - if (succ != supInfoList.size()) { - return ServerResponse.createErroe("新增失败数据异常,请稍后重试"); + info.setProId(details.getProId()); + info.setOutId(details.getOutId()); + info.setDetailsId(details.getId()); + mapper.insertStPlanOutSupData(info); + OutBatchVo batchVo = new OutBatchVo(); + batchVo.setApplyId(Integer.valueOf(outPlanVo.getId())); + batchVo.setCgNum(details.getCgNum()); + batchVo.setLkNum(details.getLkNum()); + batchVo.setCreateDate(new Date()); + batchVo.setUuid(uuid); + batchVo.setModelId(details.getModelId()); + batchVo.setSupId(info.getId()); + maTypeMapper.insertOutBatchData(batchVo); + } //更新需求 mapper.updatePlanDetails(details); @@ -375,6 +386,7 @@ public class PurchaseServiceImpl implements PurchaseService { @Override + @Transactional public ServerResponse addUnplannedPurchaseData(HttpServletRequest request, MultipartFile[] files) { try { String params = request.getParameter("params"); @@ -492,7 +504,7 @@ public class PurchaseServiceImpl implements PurchaseService { } } - + String uuid = UUID.randomUUID().toString(); for (OutPlanVoDetails details : detailsList) { details.setOutId(outPlanVo.getId()); details.setDetailId(String.valueOf(planApplyVo.getId())); @@ -508,10 +520,19 @@ public class PurchaseServiceImpl implements PurchaseService { info.setSupId("10086"); info.setSupName("库存发出"); } - } - int succ = mapper.insertPurchaseDetailsSupData(details, supInfoList); - if (succ != supInfoList.size()) { - return ServerResponse.createErroe("新增失败数据异常,请稍后重试"); + info.setProId(details.getProId()); + info.setOutId(details.getOutId()); + info.setDetailsId(details.getId()); + mapper.insertStPlanOutSupData(info); + OutBatchVo batchVo = new OutBatchVo(); + batchVo.setApplyId(planApplyVo.getId()); + batchVo.setCgNum(details.getCgNum()); + batchVo.setLkNum(details.getLkNum()); + batchVo.setCreateDate(new Date()); + batchVo.setUuid(uuid); + batchVo.setModelId(details.getModelId()); + batchVo.setSupId(info.getId()); + maTypeMapper.insertOutBatchData(batchVo); } //更新库存 @@ -524,6 +545,9 @@ public class PurchaseServiceImpl implements PurchaseService { maTypeVo.setStorageNum("0"); } maTypeMapper.updateMatype(maTypeVo); + + + } //跟新计划 mapper.updatePlanData(outPlanVo); @@ -688,6 +712,7 @@ public class PurchaseServiceImpl implements PurchaseService { return ServerResponse.createErroe("文件上传失败!"); } } + String uuid = UUID.randomUUID().toString(); // for (OutPlanVoDetails details : detailsList) { details.setOutId(outPlanVo.getId()); @@ -705,14 +730,26 @@ public class PurchaseServiceImpl implements PurchaseService { } // 是空的就需要新增 if (StringHelper.isEmpty(outSup.getId()) || "undefined".equals(outSup.getId())) { - List addList = new ArrayList<>(); - addList.add(outSup); - int succ = mapper.insertPurchaseDetailsSupData(details, addList); - if (succ != supInfoList.size()) { - return ServerResponse.createErroe("新增厂商异常,请稍后重试"); - } + outSup.setProId(details.getProId()); + outSup.setOutId(details.getOutId()); + outSup.setId(details.getId()); + mapper.insertStPlanOutSupData(outSup); + OutBatchVo batchVo = new OutBatchVo(); + batchVo.setApplyId(Integer.valueOf(details.getPlanId())); + batchVo.setCgNum(details.getCgNum()); + batchVo.setLkNum(details.getLkNum()); + batchVo.setCreateDate(new Date()); + batchVo.setUuid(uuid); + batchVo.setModelId(details.getModelId()); + batchVo.setSupId(outSup.getSupId()); + maTypeMapper.insertOutBatchData(batchVo); } else { int succ = mapper.updatePurchaseDetailsSupData(outSup); + OutBatchVo batchVo = new OutBatchVo(); + batchVo.setSupId(outSup.getSupId()); + batchVo.setCgNum(String.valueOf(outSup.getCgNum())); + batchVo.setLkNum(String.valueOf(outSup.getLkNum())); + maTypeMapper.updateOutBatchData(batchVo); if (succ != 1) { return ServerResponse.createErroe("修改厂商异常,请稍后重试"); } @@ -819,6 +856,7 @@ public class PurchaseServiceImpl implements PurchaseService { } String createTime = DateTimeHelper.getNowTime(); int delNum = mapper.delStPlanOutSupData(outPlanVo.getId()); + String uuid = UUID.randomUUID().toString(); for (OutPlanVoDetails details : detailsList) { String detailId=details.getId(); List supInfoList = details.getSupList(); @@ -835,6 +873,15 @@ public class PurchaseServiceImpl implements PurchaseService { outSup.setCreateTime(createTime); outSup.setStatus("1"); int succ = mapper.insertStPlanOutSupData(outSup); + OutBatchVo batchVo = new OutBatchVo(); + batchVo.setApplyId(Integer.valueOf(outPlanVo.getPlanId())); + batchVo.setCgNum(details.getCgNum()); + batchVo.setLkNum(details.getLkNum()); + batchVo.setCreateDate(new Date()); + batchVo.setUuid(uuid); + batchVo.setModelId(details.getModelId()); + batchVo.setSupId(outSup.getId()); + maTypeMapper.insertOutBatchData(batchVo); if (succ < 1) { throw new Exception("添加数据失败"); } @@ -890,6 +937,7 @@ public class PurchaseServiceImpl implements PurchaseService { OutPlanVo outPlanVo = mapper.getPurchaseDetails(data); OutPlanVoDetails details = new OutPlanVoDetails(); details.setOutId(outPlanVo.getId()); + details.setUuid(data.getUuid()); List detailsList = mapper.getPurchaseDetailsListByBatch(details); details.setBatchList(detailsList); list.add(details); @@ -1000,6 +1048,28 @@ public class PurchaseServiceImpl implements PurchaseService { return ServerResponse.createErroe("保存失败"); } + @Override + public ServerResponse getPurchaseDetail(OutPlanVo data) { + try { + OutPlanVo vo = mapper.getPurchaseDetail(data); + OutPlanVo outPlanVo = new OutPlanVo(); + outPlanVo.setId(vo.getId()); + String money = mapper.getPlanOutMoney(data); + vo.setMoney(money); + //文件 + List flieList = uploadService.getFileList(vo.getId(), "st_plan_out", null); + vo.setFileList(flieList); + //供应商 统计 + + List supList = mapper.getSupListData(outPlanVo); + vo.setSupInfoList(supList); + return ServerResponse.createSuccess(vo); + } catch (Exception e) { + log.error(e.toString(), e); + } + return ServerResponse.createErroe("请求失败"); + } + @Override public AjaxResult deleteDetail(Long id) { try { @@ -1361,6 +1431,8 @@ public class PurchaseServiceImpl implements PurchaseService { try { OutPlanVo vo = mapper.getPurchaseDetails(data); OutPlanVo outPlanVo = new OutPlanVo(); + List OutPlanVos = mapper.getOutBatchList(vo); + vo.setOutPlanVoList(OutPlanVos); outPlanVo.setId(vo.getId()); String money = mapper.getPlanOutMoney(data); diff --git a/src/main/resources/mappers/business/backstage/MaTypeMapper.xml b/src/main/resources/mappers/business/backstage/MaTypeMapper.xml index c00bc92..7b24f01 100644 --- a/src/main/resources/mappers/business/backstage/MaTypeMapper.xml +++ b/src/main/resources/mappers/business/backstage/MaTypeMapper.xml @@ -10,6 +10,11 @@ )values (#{parentId},#{name},0,#{unitName},0,#{remark},#{level}, #{cycle},#{creator},now(),#{updater},now()) + + insert into st_out_batch( + apply_id, uuid, create_date,model_id,lk_num, cg_num,sup_id + )values (#{applyId},#{uuid},#{createDate},#{modelId},#{lkNum},#{cgNum},#{supId}) + update st_ma_type set is_active=#{isActive},remark=#{remark},updater=#{updater},update_time=now() where id=#{id} @@ -34,6 +39,9 @@ update st_ma_type set storage_num=#{num} ,dbf_num=#{dbfNum} where id=#{id} + + update st_out_batch set lk_num=#{lkNum},cg_num=#{cgNum} where sup_id=#{supId} + delete from st_ma_type where id=#{id} @@ -135,4 +143,4 @@ from st_ma_type where id=#{modelId} and level='3' - \ No newline at end of file + diff --git a/src/main/resources/mappers/business/backstage/PurchaseMapper.xml b/src/main/resources/mappers/business/backstage/PurchaseMapper.xml index d231ab3..310acc0 100644 --- a/src/main/resources/mappers/business/backstage/PurchaseMapper.xml +++ b/src/main/resources/mappers/business/backstage/PurchaseMapper.xml @@ -49,17 +49,18 @@ where id=#{id} - + insert into st_plan_out_sup( contract_id, out_id, pro_id, details_id, sup_id, model_id, cg_num, lk_num, sup_name, cc_day, jy_day, remark )values (#{item.contractId},#{param.outId},#{param.proId},#{param.id},#{item.supId}, - #{item.modelId},#{item.cgNum},#{item.lkNum},#{item.supName},#{item.ccDay},#{item.jyDay},#{item.remark}) + #{item.modelId},#{item.cgNum},#{item.lkNum},#{item.supName},#{item.ccDay},#{item.jyDay},#{item.remark} + ) - + insert into st_plan_out_sup(contract_id, out_id, pro_id, details_id, sup_id, model_id, cg_num, lk_num, sup_name, cc_day, jy_day, remark, @@ -74,6 +75,7 @@ #{createTime}) + update st_plan_out_sup set contract_id=#{contractId},sup_id=#{supId}, cg_num=#{cgNum},lk_num=#{lkNum},sup_name=#{supName},cc_day=#{ccDay},jy_day=#{jyDay}, @@ -297,10 +299,12 @@ pos.lk_num lkNum, pos.lk_num historyLkNum, pos.id, - pos.sup_id supId + pos.sup_id supId, + oub.uuid uuid from st_plan_out_sup pos left join st_contract_type sct on pos.sup_id = sct.supplier_id and pos.model_id = sct.model_id and pos.contract_id = sct.contract_id + left join st_out_batch oub on pos.id=oub.sup_id where pos.details_id = #{id} and pos.status = '1' @@ -426,12 +430,16 @@ FROM st_plan_out_sup spos LEFT JOIN st_plan_out_details spod on spos.details_id=spod.id + left join st_out_batch sob on spos.id = sob.sup_id WHERE spos.out_id=#{outId} and spos.status='1' and spos.create_time=#{createTime} + + and sob.uuid=#{uuid} + + +