ezhizao_zx há 5 meses atrás
pai
commit
c7826c1ff4

+ 39 - 45
src/main/java/cn/ezhizao/project/business/controller/BizReturnReceiptController.java

@@ -38,8 +38,7 @@ import java.util.stream.Collectors;
  */
 @RestController
 @RequestMapping("/business/returnReceipt")
-public class BizReturnReceiptController extends BaseController
-{
+public class BizReturnReceiptController extends BaseController {
     @Resource
     private IBizReturnReceiptService bizReturnReceiptService;
     @Resource
@@ -60,18 +59,18 @@ public class BizReturnReceiptController extends BaseController
      */
     @Autowired
     private FreeMarkerConfigurer freeMarkerConfigurer;
+
     /**
      * 查询收回单主
      */
     @PreAuthorize("@ss.hasPermi('business:returnReceipt:list')")
     @GetMapping("/list")
-    public TableDataInfo list(BizReturnReceipt bizReturnReceipt) throws NoSuchFieldException, IllegalAccessException
-    {
-        if(bizReturnReceipt.getStartTime()!=null) {
-            bizReturnReceipt.setStartTime(bizReturnReceipt.getStartTime()+ " 00:00:00");
+    public TableDataInfo list(BizReturnReceipt bizReturnReceipt) throws NoSuchFieldException, IllegalAccessException {
+        if (bizReturnReceipt.getStartTime() != null) {
+            bizReturnReceipt.setStartTime(bizReturnReceipt.getStartTime() + " 00:00:00");
         }
-        if(bizReturnReceipt.getEndTime()!=null) {
-            bizReturnReceipt.setEndTime(bizReturnReceipt.getEndTime()+ " 23:59:59");
+        if (bizReturnReceipt.getEndTime() != null) {
+            bizReturnReceipt.setEndTime(bizReturnReceipt.getEndTime() + " 23:59:59");
         }
         final String supplierId = request.getHeader("tenantId");
         bizReturnReceipt.setSupplierId(Long.parseLong(supplierId));
@@ -82,7 +81,7 @@ public class BizReturnReceiptController extends BaseController
 
     /**
      * 导出收回单主
-带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子列表
+     * 带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子列表
      */
     @PreAuthorize("@ss.hasPermi('business:returnReceipt:export')")
     @Log(title = "收回单主带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子", businessType = BusinessType.EXPORT)
@@ -91,7 +90,7 @@ public class BizReturnReceiptController extends BaseController
         bizReturnReceipt = bizReturnReceiptService.getById(bizReturnReceipt);
         BizSupplier supplier = bizSupplierService.query().eq("id", bizReturnReceipt.getSupplierId()).list().get(0);
         bizReturnReceipt.setSupplierCode(supplier.getCode());
-        List<BizReturnReceiptDetail> returnReceiptDetailList = bizReturnReceiptDetailService.query().eq("master_id",bizReturnReceipt.getId()).orderByAsc("process_step_number").list();
+        List<BizReturnReceiptDetail> returnReceiptDetailList = bizReturnReceiptDetailService.query().eq("master_id", bizReturnReceipt.getId()).orderByAsc("process_step_number").list();
         //按照批次分组,一个批次合并成一条
         List<String> lotCodeList = returnReceiptDetailList.stream()
                 .map(BizReturnReceiptDetail::getLotCode)
@@ -112,7 +111,7 @@ public class BizReturnReceiptController extends BaseController
             info.setProductDescription(detailList.get(0).getProductDescription());
             info.setOutsourceDetailId(detailList.get(0).getOutsourceDetailId());
             info.setLotCode(lotCode);
-            info.setReceiptNum(detailList.get(detailList.size() -1).getReceiptNum());
+            info.setReceiptNum(detailList.get(detailList.size() - 1).getReceiptNum());
             info.setNewCarrier(detailList.get(0).getNewCarrier());
             info.setNewCarrierCount(detailList.get(0).getNewCarrierCount());
             info.setRemark(detailList.get(0).getRemark());
@@ -121,9 +120,9 @@ public class BizReturnReceiptController extends BaseController
         bizReturnReceipt.setDetails(details);
         bizReturnReceiptService.exportTemplateProvinceAreaData(response, bizReturnReceipt);
     }
+
     @PutMapping("/updateReceiptSubmitStatus")
-    public AjaxResult updateReceiptSubmitStatus(@RequestBody BizReturnReceipt bizReturnReceipt)
-    {
+    public AjaxResult updateReceiptSubmitStatus(@RequestBody BizReturnReceipt bizReturnReceipt) {
         BizReturnReceipt returnReceipt = bizReturnReceiptService.query().eq("id", bizReturnReceipt.getId()).one();
         returnReceipt.setIsSubmit(0);
         bizReturnReceiptService.updateById(returnReceipt);
@@ -132,13 +131,12 @@ public class BizReturnReceiptController extends BaseController
 
     /**
      * 新增外协单主
-     带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子
+     * 带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子
      */
     @PreAuthorize("@ss.hasPermi('business:returnReceipt:add')")
     @Transactional
     @PostMapping
-    public AjaxResult addReceipt(@RequestBody BizReturnReceipt bizReturnReceipt)
-    {
+    public AjaxResult addReceipt(@RequestBody BizReturnReceipt bizReturnReceipt) {
         final String supplierId = request.getHeader("tenantId");
         bizReturnReceipt.setSupplierId(Long.parseLong(supplierId));
         //若有id,则说将之前的明细删除不生成新的单号
@@ -151,25 +149,25 @@ public class BizReturnReceiptController extends BaseController
             String codeValue;
             String codeType = "returnReceiveCode";
             //查询redis中外协单号的值
-            String previous = redisCache.hasKey(codeType) ? redisCache.getCacheObject(codeType) :"";
+            String previous = redisCache.hasKey(codeType) ? redisCache.getCacheObject(codeType) : "";
             //若不存在,则直接存入
             if (previous.isEmpty()) {
                 List<BizReturnReceipt> returnReceiptList = bizReturnReceiptService.getAllList();
-                if(!returnReceiptList.isEmpty()){
-                    codeValue=returnReceiptList.get(0).getFormCode();
+                if (!returnReceiptList.isEmpty()) {
+                    codeValue = returnReceiptList.get(0).getFormCode();
                     int lastFourDigits = Integer.parseInt(codeValue.substring(5, 10));
                     lastFourDigits += 1; // 加1
                     codeValue = codeValue.substring(0, 5) + String.format("%05d", lastFourDigits);
-                    previous=codeValue;
-                }else {
+                    previous = codeValue;
+                } else {
                     previous = ("SHD" + formattedDate + "000001");
                 }
             } else {
-                codeValue=previous;
+                codeValue = previous;
                 int lastFourDigits = Integer.parseInt(codeValue.substring(5, 10));
                 lastFourDigits += 1; // 加1
                 codeValue = codeValue.substring(0, 5) + String.format("%05d", lastFourDigits);
-                previous=codeValue;
+                previous = codeValue;
             }
             //存到redis中
             redisCache.setCacheObject(codeType, previous);
@@ -197,19 +195,19 @@ public class BizReturnReceiptController extends BaseController
 //        return success(bizReturnReceiptDetailService.saveBatch(bizReturnReceipt.getDetails()));
         return success(bizReturnReceiptDetailService.saveBatch(bizReturnReceipt.getDetailInfo()));
     }
+
     /**
      * 修改外协单主
-     带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子
+     * 带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子
      */
     @PreAuthorize("@ss.hasPermi('business:returnReceipt:edit')")
     @Transactional
     @PutMapping
-    public AjaxResult updateReceipt(@RequestBody BizReturnReceipt bizReturnReceipt)
-    {
+    public AjaxResult updateReceipt(@RequestBody BizReturnReceipt bizReturnReceipt) {
         //向收回单主表存
         bizReturnReceiptService.updateById(bizReturnReceipt);
         //向收回单明细表存
-        List<BizReturnReceiptDetail> oldList = bizReturnReceiptDetailService.query().eq("master_id",bizReturnReceipt.getId()).list();
+        List<BizReturnReceiptDetail> oldList = bizReturnReceiptDetailService.query().eq("master_id", bizReturnReceipt.getId()).list();
         bizReturnReceipt.getDetailInfo().stream()
                 .forEach(bizReturnReceiptDetail -> {
                     bizReturnReceiptDetail.setMasterId(bizReturnReceipt.getId());
@@ -218,7 +216,7 @@ public class BizReturnReceiptController extends BaseController
                     bizReturnReceiptDetail.setSupplierName(bizReturnReceipt.getSupplierName());
                     bizReturnReceiptDetail.setFormDate(bizReturnReceipt.getFormDate());
                 });
-        saveOrUpdateBatch(bizReturnReceiptDetailService,bizReturnReceipt.getDetailInfo(),oldList);
+        saveOrUpdateBatch(bizReturnReceiptDetailService, bizReturnReceipt.getDetailInfo(), oldList);
 //        bizReturnReceipt.getDetails().stream()
 //                .forEach(bizReturnReceiptDetail -> {
 //                    bizReturnReceiptDetail.setMasterId(bizReturnReceipt.getId());
@@ -230,13 +228,13 @@ public class BizReturnReceiptController extends BaseController
 //        saveOrUpdateBatch(bizReturnReceiptDetailService,bizReturnReceipt.getDetails(),oldList);
         return success();
     }
+
     /**
      * 获取收回单主 带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子详细信息
      */
     @PreAuthorize("@ss.hasPermi('business:returnReceipt:query')")
     @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") Long id)
-    {
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
         // 根据 id 获取到收回订单
         BizReturnReceipt returnReceipt = bizReturnReceiptService.getById(id);
 
@@ -263,7 +261,7 @@ public class BizReturnReceiptController extends BaseController
         for (String lotCode : lotCodeList) {
             groupedByLotCode.put(lotCode, returnReceiptDetails.stream()
                     .filter(record -> record.getLotCode().equals(lotCode))
-                            .sorted(Comparator.comparing(BizReturnReceiptDetail::getProcessStepNumber))
+                    .sorted(Comparator.comparing(BizReturnReceiptDetail::getProcessStepNumber))
                     .collect(Collectors.toList()));
         }
         List<BizReturnReceiptDetail> details = new ArrayList<>();
@@ -275,7 +273,7 @@ public class BizReturnReceiptController extends BaseController
             info.setOutsourceDetailId(detailList.get(0).getOutsourceDetailId());
             info.setLotCode(lotCode);
             info.setProductNum(detailList.get(0).getProductNum());
-            info.setReceiptNum(detailList.get(detailList.size() -1).getReceiptNum());
+            info.setReceiptNum(detailList.get(detailList.size() - 1).getReceiptNum());
             info.setNewCarrier(detailList.get(0).getNewCarrier());
             info.setRemark(detailList.get(0).getRemark());
             info.setProcessAlias(detailProcesses.stream()
@@ -304,16 +302,16 @@ public class BizReturnReceiptController extends BaseController
 
         return success(returnReceipt);
     }
+
     /**
      * 删除外协单主
-     带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子
+     * 带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子
      */
     @PreAuthorize("@ss.hasPermi('business:returnReceipt:remove')")
     @Log(title = "外协单主带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子", businessType = BusinessType.DELETE)
     @Transactional
     @DeleteMapping("/{ids}")
-    public AjaxResult remove(@PathVariable List<Long> ids)
-    {
+    public AjaxResult remove(@PathVariable List<Long> ids) {
         bizReturnReceiptService.removeBatchByIds(ids);
         List<BizReturnReceiptDetail> bizReturnReceiptDetailList = bizReturnReceiptDetailService.query().in("master_id", ids).list();
         List<Long> bizReturnReceiptDetailIds = bizReturnReceiptDetailList.stream().map(BizReturnReceiptDetail::getId).collect(Collectors.toList());
@@ -327,7 +325,7 @@ public class BizReturnReceiptController extends BaseController
 
         /** 正常打印 **/
         //查询回收单数据
-        bizReturnReceipt=bizReturnReceiptService.getById(bizReturnReceipt);
+        bizReturnReceipt = bizReturnReceiptService.getById(bizReturnReceipt);
         BizSupplier supplier = bizSupplierService.query().eq("id", bizReturnReceipt.getSupplierId()).list().get(0);
         bizReturnReceipt.setSupplierCode(supplier.getCode());
         //查询回收单明细
@@ -397,8 +395,6 @@ public class BizReturnReceiptController extends BaseController
                         ));
 
 
-
-
         //因为新箱子保存的时候,是用“id|code,id|code”的字符串形式存储的所以查询的时候需要进行拆分
         //如果保存的时候没有选择新箱子则会把旧箱号复制到新箱号中,所有不会有“|”所以下方需要进行判断
         allDetailsStream.forEach(detail -> {
@@ -428,7 +424,7 @@ public class BizReturnReceiptController extends BaseController
         List<List<BizReturnReceiptDetail>> list = new ArrayList<>();
 
         // 使用 for-each 循环遍历 groupedByProductDescription
-        for ( Map.Entry<String, List<BizReturnReceiptDetail>> entry : groupedByProductDescription.entrySet()) {
+        for (Map.Entry<String, List<BizReturnReceiptDetail>> entry : groupedByProductDescription.entrySet()) {
             List<BizReturnReceiptDetail> details = entry.getValue(); // 获取对应的 List,即 Map 的值
             // 用于临时存储每组数据的列表
             List<BizReturnReceiptDetail> group = new ArrayList<>();
@@ -463,7 +459,6 @@ public class BizReturnReceiptController extends BaseController
             }
 
 
-
         }
 //         2024-11-22注释  修改为同发出单一致的逻辑
 //        //查询外协厂code
@@ -542,7 +537,7 @@ public class BizReturnReceiptController extends BaseController
 
 
         Map<String, Object> paramMap = new HashMap<>();
-        paramMap.put("returnReceipt" , bizReturnReceipt);
+        paramMap.put("returnReceipt", bizReturnReceipt);
         Writer out = new StringWriter();
         //获取模板地址
         Template template = freeMarkerConfigurer.getConfiguration().getTemplate("returnReceiptPdf.html");
@@ -552,7 +547,7 @@ public class BizReturnReceiptController extends BaseController
         String templateContent = out.toString();
         response.setCharacterEncoding("UTF-8");
         response.setContentType("application/pdf");
-        String fileName ="外协收回明细";
+        String fileName = "外协收回明细";
         response.setHeader("Content-Disposition", "filename=" + new String(fileName.getBytes()));
         byte[] resources = PdfUtil.html2Pdf(templateContent);
         ServletOutputStream outputStream = response.getOutputStream();
@@ -595,8 +590,7 @@ public class BizReturnReceiptController extends BaseController
     @Log(title = "获取内部外协详情")
     @PreAuthorize("@ss.hasPermi('business:returnReceipt:query')")
     @GetMapping(value = "/interReceipt/{id}")
-    public AjaxResult getInterInfo(@PathVariable("id") Long id)
-    {
+    public AjaxResult getInterInfo(@PathVariable("id") Long id) {
         // 根据 id 获取到收回订单
         BizReturnReceipt returnReceipt = bizReturnReceiptService.getById(id);
 
@@ -633,7 +627,7 @@ public class BizReturnReceiptController extends BaseController
             info.setOutsourceDetailId(detailList.get(0).getOutsourceDetailId());
             info.setLotCode(lotCode);
             info.setProductNum(detailList.get(0).getProductNum());
-            info.setReceiptNum(detailList.get(detailList.size() -1).getReceiptNum());
+            info.setReceiptNum(detailList.get(detailList.size() - 1).getReceiptNum());
             info.setNewCarrier(detailList.get(0).getNewCarrier());
             info.setRemark(detailList.get(0).getRemark());
             info.setProcessAlias(detailProcesses.stream()

+ 3 - 0
src/main/java/cn/ezhizao/project/business/domain/BizSupplier.java

@@ -59,4 +59,7 @@ public class BizSupplier extends BaseEntity {
     @Excel(name = "备注")
     @ApiModelProperty(value = "备注")
     private String remark;
+
+    @ApiModelProperty("内部外协")
+    private Integer isInnerOutsource;
 }

+ 2 - 0
src/main/java/cn/ezhizao/project/system/controller/SysLoginController.java

@@ -106,8 +106,10 @@ public class SysLoginController extends BaseController
         Set<String> roles = new HashSet<>();
         // 权限集合
         Set<String> permissions = permissionService.getMenuPermission(user);
+        BizSupplier supplier = bizSupplierService.getById(user.getSupplierId());
         AjaxResult ajax = AjaxResult.success();
         ajax.put("user", user);
+        ajax.put("supplier", supplier);
         ajax.put("roles", roles);
         ajax.put("permissions", permissions);
         return ajax;