单据的创建人处理

This commit is contained in:
yinjinlu-pc\尹金路 2023-06-08 15:42:59 +08:00
parent f672300cf2
commit ab462319a1
35 changed files with 773 additions and 12 deletions

View File

@ -0,0 +1,55 @@
package com.ktg.web.controller.system;
import com.ktg.common.core.controller.BaseController;
import com.ktg.common.core.page.TableDataInfo;
import com.ktg.mes.md.domain.MdVendor;
import com.ktg.mes.pro.service.IProFeedbackService;
import com.ktg.mes.wm.service.*;
import com.ktg.system.domain.UserTask;
import com.ktg.system.service.IUserTaskService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api("用户的代办已办任务")
@RestController
@RequestMapping("/mobile/usertask")
public class UserTaskController extends BaseController {
@Autowired
private IUserTaskService userTaskService;
/**
* 查询待处理的任务和单据
* 1.所有自己起草的草稿状态的单据目前阶段只实现此条
* 2.根据具体的业务审批流程配置需要自己审批的单据
*/
@ApiOperation("查询待处理的任务和单据(分页)")
@GetMapping("/listTodo")
public TableDataInfo listTodoList(Long userId)
{
startPage();
List<UserTask> list = userTaskService.listTodoList(userId);
return getDataTable(list);
}
/**
* 查询已处理的任务和单据
* 1.所有自己起草非草稿状态的单据目前阶段只实现此条
* 2.根据具体的业务审批流程配置流经自己的单据
*/
@ApiOperation("查询已处理的任务和单据(分页)")
@GetMapping("/listFinished")
public TableDataInfo listFinishedList(Long userId)
{
startPage();
List<UserTask> list = userTaskService.listFinishedList(userId);
return getDataTable(list);
}
}

View File

@ -92,6 +92,16 @@ public class UserConstants
public static final String DEFECT_CODE = "DEFECT_CODE"; public static final String DEFECT_CODE = "DEFECT_CODE";
public static final String SN_CODE = "SN_CODE"; public static final String SN_CODE = "SN_CODE";
public static final String TRANS_ORDER_CODE ="TRANS_ORDER_CODE"; public static final String TRANS_ORDER_CODE ="TRANS_ORDER_CODE";
public static final String ITEMRECPT_CODE ="ITEMRECPT_CODE"; //物料采购入库
public static final String WM_RTVENDOR_CODE ="WM_RTVENDOR_CODE";//退回供应商
public static final String ISSUE_CODE ="ISSUE_CODE"; //生产领料
public static final String RTISSUE_CODE ="RTISSUE_CODE"; //生产退料
public static final String PRODUCTRECPT_CODE ="PRODUCTRECPT_CODE"; //产品入库
public static final String PRODUCTSALSE_CODE ="PRODUCTSALSE_CODE"; //销售出库
public static final String RTSALSE_CODE ="RTSALSE_CODE"; //销售退货
public static final String TRANSFER_CODE ="TRANSFER_CODE"; //移库
public static final String STOCKTAKING_CODE ="STOCKTAKING_CODE"; //盘库单
public static final String FEEDBACK_CODE ="FEEDBACK_CODE"; //报工单
/** /**
* 单据的状态类型 * 单据的状态类型

View File

@ -0,0 +1,37 @@
package com.ktg.mes.md.controller.mobile;
import com.ktg.common.core.controller.BaseController;
import com.ktg.common.core.page.TableDataInfo;
import com.ktg.mes.md.domain.MdVendor;
import com.ktg.mes.md.service.IMdVendorService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api("供应商信息")
@RestController
@RequestMapping("/mobile/md/vendor")
public class MdVendorMobController extends BaseController {
@Autowired
private IMdVendorService mdVendorService;
/**
* 查询供应商列表
*/
@ApiOperation("查询供应商清单(分页)")
@PreAuthorize("@ss.hasPermi('mes:md:vendor:list')")
@GetMapping("/list")
public TableDataInfo list(MdVendor mdVendor)
{
startPage();
List<MdVendor> list = mdVendorService.selectMdVendorList(mdVendor);
return getDataTable(list);
}
}

View File

@ -123,7 +123,7 @@ public class ProFeedbackController extends BaseController
}else { }else {
return AjaxResult.error("当前生产任务对应的工作站不存在!"); return AjaxResult.error("当前生产任务对应的工作站不存在!");
} }
proFeedback.setCreateBy(getUsername());
return toAjax(proFeedbackService.insertProFeedback(proFeedback)); return toAjax(proFeedbackService.insertProFeedback(proFeedback));
} }

View File

@ -85,6 +85,7 @@ public class ProTransOrderController extends BaseController
{ {
proTransOrderService.insertProTransOrder(proTransOrder); proTransOrderService.insertProTransOrder(proTransOrder);
wmBarCodeUtil.generateBarCode(UserConstants.BARCODE_TYPE_TRANSORDER,proTransOrder.getTransOrderId(),proTransOrder.getTransOrderCode(),null); wmBarCodeUtil.generateBarCode(UserConstants.BARCODE_TYPE_TRANSORDER,proTransOrder.getTransOrderId(),proTransOrder.getTransOrderCode(),null);
proTransOrder.setCreateBy(getUsername());
return AjaxResult.success(proTransOrder.getTransOrderId()); return AjaxResult.success(proTransOrder.getTransOrderId());
} }

View File

@ -107,7 +107,7 @@ public class ProWorkorderController extends BaseController
Long workorderId = proWorkorder.getWorkorderId(); Long workorderId = proWorkorder.getWorkorderId();
generateBomLine(workorderId); generateBomLine(workorderId);
proWorkorder.setCreateBy(getUsername());
return AjaxResult.success(workorderId); return AjaxResult.success(workorderId);
} }

View File

@ -1,4 +1,4 @@
package com.ktg.mes.pro.controller; package com.ktg.mes.pro.controller.mobile;
import com.ktg.common.annotation.Log; import com.ktg.common.annotation.Log;
import com.ktg.common.constant.UserConstants; import com.ktg.common.constant.UserConstants;
@ -48,6 +48,7 @@ public class ProFeedBackMobController extends BaseController {
}else { }else {
return AjaxResult.error("当前生产任务对应的工作站不存在!"); return AjaxResult.error("当前生产任务对应的工作站不存在!");
} }
proFeedback.setCreateBy(getUsername());
proFeedbackService.insertProFeedback(proFeedback); proFeedbackService.insertProFeedback(proFeedback);
return AjaxResult.success(proFeedback); return AjaxResult.success(proFeedback);
} }

View File

@ -1,4 +1,4 @@
package com.ktg.mes.pro.controller; package com.ktg.mes.pro.controller.mobile;
import com.ktg.common.constant.UserConstants; import com.ktg.common.constant.UserConstants;
import com.ktg.common.core.controller.BaseController; import com.ktg.common.core.controller.BaseController;

View File

@ -1,4 +1,4 @@
package com.ktg.mes.pro.controller; package com.ktg.mes.pro.controller.mobile;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.ktg.common.annotation.Log; import com.ktg.common.annotation.Log;

View File

@ -1,4 +1,4 @@
package com.ktg.mes.pro.controller; package com.ktg.mes.pro.controller.mobile;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.ktg.common.annotation.Log; import com.ktg.common.annotation.Log;
@ -114,7 +114,7 @@ public class ProTransOrderMobController extends BaseController {
if(StringUtils.isNotNull(proTransOrder.getQuantityTransfered())){ if(StringUtils.isNotNull(proTransOrder.getQuantityTransfered())){
return AjaxResult.error("请填写报工数量"); return AjaxResult.error("请填写报工数量");
} }
proTransOrder.setCreateBy(getUsername());
proTransOrderService.insertProTransOrder(proTransOrder); proTransOrderService.insertProTransOrder(proTransOrder);
//自动生成条码 //自动生成条码

View File

@ -119,8 +119,7 @@ public class WmIssueHeaderController extends BaseController
wmIssueHeader.setAreaCode(area.getAreaCode()); wmIssueHeader.setAreaCode(area.getAreaCode());
wmIssueHeader.setAreaName(area.getAreaName()); wmIssueHeader.setAreaName(area.getAreaName());
} }
wmIssueHeader.setCreateBy(getUsername());
return toAjax(wmIssueHeaderService.insertWmIssueHeader(wmIssueHeader)); return toAjax(wmIssueHeaderService.insertWmIssueHeader(wmIssueHeader));
} }

View File

@ -77,6 +77,7 @@ public class WmIssueLineController extends BaseController
@PostMapping @PostMapping
public AjaxResult add(@RequestBody WmIssueLine wmIssueLine) public AjaxResult add(@RequestBody WmIssueLine wmIssueLine)
{ {
wmIssueLine.setCreateBy(getUsername());
return toAjax(wmIssueLineService.insertWmIssueLine(wmIssueLine)); return toAjax(wmIssueLineService.insertWmIssueLine(wmIssueLine));
} }

View File

@ -118,6 +118,7 @@ public class WmItemRecptController extends BaseController
wmItemRecpt.setAreaName(area.getAreaName()); wmItemRecpt.setAreaName(area.getAreaName());
} }
wmItemRecpt.setCreateBy(getUsername());
return toAjax(wmItemRecptService.insertWmItemRecpt(wmItemRecpt)); return toAjax(wmItemRecptService.insertWmItemRecpt(wmItemRecpt));
} }

View File

@ -110,6 +110,7 @@ public class WmItemRecptLineController extends BaseController
wmItemRecptLine.setAreaCode(area.getAreaCode()); wmItemRecptLine.setAreaCode(area.getAreaCode());
wmItemRecptLine.setAreaName(area.getAreaName()); wmItemRecptLine.setAreaName(area.getAreaName());
} }
wmItemRecptLine.setCreateBy(getUsername());
return toAjax(wmItemRecptLineService.insertWmItemRecptLine(wmItemRecptLine)); return toAjax(wmItemRecptLineService.insertWmItemRecptLine(wmItemRecptLine));
} }

View File

@ -107,6 +107,7 @@ public class WmPackageController extends BaseController
wmBarcode.setBarcodeContent(""+UserConstants.BARCODE_TYPE_PACKAGE+"-"+wmPackage.getPackageCode()); wmBarcode.setBarcodeContent(""+UserConstants.BARCODE_TYPE_PACKAGE+"-"+wmPackage.getPackageCode());
String path =wmBarcodeService.generateBarcode(wmBarcode); String path =wmBarcodeService.generateBarcode(wmBarcode);
wmBarcode.setBarcodeUrl(path); wmBarcode.setBarcodeUrl(path);
wmBarcode.setCreateBy(getUsername());
wmBarcodeService.insertWmBarcode(wmBarcode); wmBarcodeService.insertWmBarcode(wmBarcode);
//将条码的URL更新上去 //将条码的URL更新上去

View File

@ -117,7 +117,7 @@ public class WmProductRecptController extends BaseController
wmProductRecpt.setAreaCode(area.getAreaCode()); wmProductRecpt.setAreaCode(area.getAreaCode());
wmProductRecpt.setAreaName(area.getAreaName()); wmProductRecpt.setAreaName(area.getAreaName());
} }
wmProductRecpt.setCreateBy(getUsername());
return toAjax(wmProductRecptService.insertWmProductRecpt(wmProductRecpt)); return toAjax(wmProductRecptService.insertWmProductRecpt(wmProductRecpt));
} }

View File

@ -109,7 +109,7 @@ public class WmProductRecptLineController extends BaseController
wmProductRecptLine.setAreaCode(area.getAreaCode()); wmProductRecptLine.setAreaCode(area.getAreaCode());
wmProductRecptLine.setAreaName(area.getAreaName()); wmProductRecptLine.setAreaName(area.getAreaName());
} }
wmProductRecptLine.setCreateBy(getUsername());
return toAjax(wmProductRecptLineService.insertWmProductRecptLine(wmProductRecptLine)); return toAjax(wmProductRecptLineService.insertWmProductRecptLine(wmProductRecptLine));
} }

View File

@ -117,6 +117,7 @@ public class WmProductSalseController extends BaseController
wmProductSalse.setAreaCode(area.getAreaCode()); wmProductSalse.setAreaCode(area.getAreaCode());
wmProductSalse.setAreaName(area.getAreaName()); wmProductSalse.setAreaName(area.getAreaName());
} }
wmProductSalse.setCreateBy(getUsername());
return toAjax(wmProductSalseService.insertWmProductSalse(wmProductSalse)); return toAjax(wmProductSalseService.insertWmProductSalse(wmProductSalse));
} }

View File

@ -77,6 +77,7 @@ public class WmProductSalseLineController extends BaseController
@PostMapping @PostMapping
public AjaxResult add(@RequestBody WmProductSalseLine wmProductSalseLine) public AjaxResult add(@RequestBody WmProductSalseLine wmProductSalseLine)
{ {
wmProductSalseLine.setCreateBy(getUsername());
return toAjax(wmProductSalseLineService.insertWmProductSalseLine(wmProductSalseLine)); return toAjax(wmProductSalseLineService.insertWmProductSalseLine(wmProductSalseLine));
} }

View File

@ -118,6 +118,7 @@ public class WmRtIssueController extends BaseController
wmRtIssue.setAreaCode(area.getAreaCode()); wmRtIssue.setAreaCode(area.getAreaCode());
wmRtIssue.setAreaName(area.getAreaName()); wmRtIssue.setAreaName(area.getAreaName());
} }
wmRtIssue.setCreateBy(getUsername());
return toAjax(wmRtIssueService.insertWmRtIssue(wmRtIssue)); return toAjax(wmRtIssueService.insertWmRtIssue(wmRtIssue));
} }

View File

@ -109,6 +109,7 @@ public class WmRtIssueLineController extends BaseController
wmRtIssueLine.setAreaCode(area.getAreaCode()); wmRtIssueLine.setAreaCode(area.getAreaCode());
wmRtIssueLine.setAreaName(area.getAreaName()); wmRtIssueLine.setAreaName(area.getAreaName());
} }
wmRtIssueLine.setCreateBy(getUsername());
return toAjax(wmRtIssueLineService.insertWmRtIssueLine(wmRtIssueLine)); return toAjax(wmRtIssueLineService.insertWmRtIssueLine(wmRtIssueLine));
} }

View File

@ -117,6 +117,7 @@ public class WmRtSalseController extends BaseController
wmRtSalse.setAreaCode(area.getAreaCode()); wmRtSalse.setAreaCode(area.getAreaCode());
wmRtSalse.setAreaName(area.getAreaName()); wmRtSalse.setAreaName(area.getAreaName());
} }
wmRtSalse.setCreateBy(getUsername());
return toAjax(wmRtSalseService.insertWmRtSalse(wmRtSalse)); return toAjax(wmRtSalseService.insertWmRtSalse(wmRtSalse));
} }

View File

@ -109,6 +109,7 @@ public class WmRtSalseLineController extends BaseController
wmRtSalseLine.setAreaCode(area.getAreaCode()); wmRtSalseLine.setAreaCode(area.getAreaCode());
wmRtSalseLine.setAreaName(area.getAreaName()); wmRtSalseLine.setAreaName(area.getAreaName());
} }
wmRtSalseLine.setCreateBy(getUsername());
return toAjax(wmRtSalseLineService.insertWmRtSalseLine(wmRtSalseLine)); return toAjax(wmRtSalseLineService.insertWmRtSalseLine(wmRtSalseLine));
} }

View File

@ -92,6 +92,7 @@ public class WmRtVendorController extends BaseController
if(UserConstants.NOT_UNIQUE.equals(wmRtVendorService.checkCodeUnique(wmRtVendor))){ if(UserConstants.NOT_UNIQUE.equals(wmRtVendorService.checkCodeUnique(wmRtVendor))){
return AjaxResult.error("退货单编号已经存在!"); return AjaxResult.error("退货单编号已经存在!");
} }
wmRtVendor.setCreateBy(getUsername());
return toAjax(wmRtVendorService.insertWmRtVendor(wmRtVendor)); return toAjax(wmRtVendorService.insertWmRtVendor(wmRtVendor));
} }

View File

@ -77,6 +77,7 @@ public class WmRtVendorLineController extends BaseController
@PostMapping @PostMapping
public AjaxResult add(@RequestBody WmRtVendorLine wmRtVendorLine) public AjaxResult add(@RequestBody WmRtVendorLine wmRtVendorLine)
{ {
wmRtVendorLine.setCreateBy(getUsername());
return toAjax(wmRtVendorLineService.insertWmRtVendorLine(wmRtVendorLine)); return toAjax(wmRtVendorLineService.insertWmRtVendorLine(wmRtVendorLine));
} }

View File

@ -106,7 +106,7 @@ public class WmTransferController extends BaseController
wmTransfer.setToWarehouseName(warehouse.getWarehouseName()); wmTransfer.setToWarehouseName(warehouse.getWarehouseName());
} }
wmTransfer.setCreateBy(getUsername());
return toAjax(wmTransferService.insertWmTransfer(wmTransfer)); return toAjax(wmTransferService.insertWmTransfer(wmTransfer));
} }

View File

@ -123,6 +123,7 @@ public class WmTransferLineController extends BaseController
wmTransferLine.setToAreaCode(area.getAreaCode()); wmTransferLine.setToAreaCode(area.getAreaCode());
wmTransferLine.setToAreaName(area.getAreaName()); wmTransferLine.setToAreaName(area.getAreaName());
} }
wmTransferLine.setCreateBy(getUsername());
return toAjax(wmTransferLineService.insertWmTransferLine(wmTransferLine)); return toAjax(wmTransferLineService.insertWmTransferLine(wmTransferLine));
} }

View File

@ -0,0 +1,134 @@
package com.ktg.mes.wm.controller.mobile;
import com.ktg.common.annotation.Log;
import com.ktg.common.core.controller.BaseController;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.common.core.page.TableDataInfo;
import com.ktg.common.enums.BusinessType;
import com.ktg.common.utils.StringUtils;
import com.ktg.mes.wm.domain.WmItemRecptLine;
import com.ktg.mes.wm.domain.WmStorageArea;
import com.ktg.mes.wm.domain.WmStorageLocation;
import com.ktg.mes.wm.domain.WmWarehouse;
import com.ktg.mes.wm.service.IWmItemRecptLineService;
import com.ktg.mes.wm.service.IWmStorageAreaService;
import com.ktg.mes.wm.service.IWmStorageLocationService;
import com.ktg.mes.wm.service.IWmWarehouseService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Api("采购入库明细")
@RestController
@RequestMapping("/mobile/wm/itemrecptline")
public class WmItemRecptLineMobController extends BaseController {
@Autowired
private IWmItemRecptLineService wmItemRecptLineService;
@Autowired
private IWmWarehouseService wmWarehouseService;
@Autowired
private IWmStorageLocationService wmStorageLocationService;
@Autowired
private IWmStorageAreaService wmStorageAreaService;
/**
* 查询物料入库单行列表
*/
@ApiOperation("查询采购入库单明细信息接口")
@PreAuthorize("@ss.hasPermi('mes:wm:itemrecptline:list')")
@GetMapping("/list")
public TableDataInfo list(WmItemRecptLine wmItemRecptLine)
{
startPage();
List<WmItemRecptLine> list = wmItemRecptLineService.selectWmItemRecptLineList(wmItemRecptLine);
return getDataTable(list);
}
/**
* 获取物料入库单行详细信息
*/
@ApiOperation("查看采购入库单明细信息接口")
@PreAuthorize("@ss.hasPermi('mes:wm:itemrecptline:query')")
@GetMapping(value = "/{lineId}")
public AjaxResult getInfo(@PathVariable("lineId") Long lineId)
{
return AjaxResult.success(wmItemRecptLineService.selectWmItemRecptLineByLineId(lineId));
}
/**
* 新增物料入库单行
*/
@ApiOperation("新增采购入库单明细信息接口")
@PreAuthorize("@ss.hasPermi('mes:wm:itemrecptline:add')")
@Log(title = "物料入库单行", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody WmItemRecptLine wmItemRecptLine)
{
if(StringUtils.isNotNull(wmItemRecptLine.getWarehouseId())){
WmWarehouse warehouse = wmWarehouseService.selectWmWarehouseByWarehouseId(wmItemRecptLine.getWarehouseId());
wmItemRecptLine.setWarehouseCode(warehouse.getWarehouseCode());
wmItemRecptLine.setWarehouseName(warehouse.getWarehouseName());
}
if(StringUtils.isNotNull(wmItemRecptLine.getLocationId())){
WmStorageLocation location = wmStorageLocationService.selectWmStorageLocationByLocationId(wmItemRecptLine.getLocationId());
wmItemRecptLine.setLocationCode(location.getLocationCode());
wmItemRecptLine.setLocationName(location.getLocationName());
}
if(StringUtils.isNotNull(wmItemRecptLine.getAreaId())){
WmStorageArea area = wmStorageAreaService.selectWmStorageAreaByAreaId(wmItemRecptLine.getAreaId());
wmItemRecptLine.setAreaCode(area.getAreaCode());
wmItemRecptLine.setAreaName(area.getAreaName());
}
wmItemRecptLine.setCreateBy(getUsername());
return toAjax(wmItemRecptLineService.insertWmItemRecptLine(wmItemRecptLine));
}
/**
* 修改物料入库单行
*/
@ApiOperation("修改采购入库单明细信息接口")
@PreAuthorize("@ss.hasPermi('mes:wm:itemrecptline:edit')")
@Log(title = "物料入库单行", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody WmItemRecptLine wmItemRecptLine)
{
if(StringUtils.isNotNull(wmItemRecptLine.getWarehouseId())){
WmWarehouse warehouse = wmWarehouseService.selectWmWarehouseByWarehouseId(wmItemRecptLine.getWarehouseId());
wmItemRecptLine.setWarehouseCode(warehouse.getWarehouseCode());
wmItemRecptLine.setWarehouseName(warehouse.getWarehouseName());
}
if(StringUtils.isNotNull(wmItemRecptLine.getLocationId())){
WmStorageLocation location = wmStorageLocationService.selectWmStorageLocationByLocationId(wmItemRecptLine.getLocationId());
wmItemRecptLine.setLocationCode(location.getLocationCode());
wmItemRecptLine.setLocationName(location.getLocationName());
}
if(StringUtils.isNotNull(wmItemRecptLine.getAreaId())){
WmStorageArea area = wmStorageAreaService.selectWmStorageAreaByAreaId(wmItemRecptLine.getAreaId());
wmItemRecptLine.setAreaCode(area.getAreaCode());
wmItemRecptLine.setAreaName(area.getAreaName());
}
return toAjax(wmItemRecptLineService.updateWmItemRecptLine(wmItemRecptLine));
}
/**
* 删除物料入库单行
*/
@ApiOperation("删除采购入库单明细信息接口")
@PreAuthorize("@ss.hasPermi('mes:wm:itemrecptline:remove')")
@Log(title = "物料入库单行", businessType = BusinessType.DELETE)
@DeleteMapping("/{lineIds}")
public AjaxResult remove(@PathVariable Long[] lineIds)
{
return toAjax(wmItemRecptLineService.deleteWmItemRecptLineByLineIds(lineIds));
}
}

View File

@ -0,0 +1,167 @@
package com.ktg.mes.wm.controller.mobile;
import com.ktg.common.annotation.Log;
import com.ktg.common.constant.UserConstants;
import com.ktg.common.core.controller.BaseController;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.common.enums.BusinessType;
import com.ktg.common.utils.StringUtils;
import com.ktg.mes.wm.domain.WmItemRecpt;
import com.ktg.mes.wm.domain.WmStorageArea;
import com.ktg.mes.wm.domain.WmStorageLocation;
import com.ktg.mes.wm.domain.WmWarehouse;
import com.ktg.mes.wm.domain.tx.ItemRecptTxBean;
import com.ktg.mes.wm.service.*;
import com.ktg.system.strategy.AutoCodeUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Api("采购入库")
@RestController
@RequestMapping("/mobile/wm/itemrecpt")
public class WmItemRecptMobController extends BaseController {
@Autowired
private IWmItemRecptService wmItemRecptService;
@Autowired
private IWmItemRecptLineService wmItemRecptLineService;
@Autowired
private IWmWarehouseService wmWarehouseService;
@Autowired
private IWmStorageLocationService wmStorageLocationService;
@Autowired
private IWmStorageAreaService wmStorageAreaService;
@Autowired
private IStorageCoreService storageCoreService;
@Autowired
private AutoCodeUtil autoCodeUtil;
/**
* 新增物料入库单
*/
@ApiOperation("新增采购入库单基本信息接口")
@PreAuthorize("@ss.hasPermi('mes:wm:itemrecpt:add')")
@Log(title = "物料入库单", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody WmItemRecpt wmItemRecpt)
{
if(StringUtils.isNotNull(wmItemRecpt.getRecptCode())){
if(UserConstants.NOT_UNIQUE.equals(wmItemRecptService.checkRecptCodeUnique(wmItemRecpt))){
return AjaxResult.error("单据编号已存在!");
}
}else {
wmItemRecpt.setRecptCode(autoCodeUtil.genSerialCode(UserConstants.ITEMRECPT_CODE,""));
}
if(StringUtils.isNotNull(wmItemRecpt.getWarehouseId())){
WmWarehouse warehouse = wmWarehouseService.selectWmWarehouseByWarehouseId(wmItemRecpt.getWarehouseId());
wmItemRecpt.setWarehouseCode(warehouse.getWarehouseCode());
wmItemRecpt.setWarehouseName(warehouse.getWarehouseName());
}
if(StringUtils.isNotNull(wmItemRecpt.getLocationId())){
WmStorageLocation location = wmStorageLocationService.selectWmStorageLocationByLocationId(wmItemRecpt.getLocationId());
wmItemRecpt.setLocationCode(location.getLocationCode());
wmItemRecpt.setLocationName(location.getLocationName());
}
if(StringUtils.isNotNull(wmItemRecpt.getAreaId())){
WmStorageArea area = wmStorageAreaService.selectWmStorageAreaByAreaId(wmItemRecpt.getAreaId());
wmItemRecpt.setAreaCode(area.getAreaCode());
wmItemRecpt.setAreaName(area.getAreaName());
}
wmItemRecpt.setCreateBy(getUsername());
wmItemRecptService.insertWmItemRecpt(wmItemRecpt);
return AjaxResult.success(wmItemRecpt);
}
/**
* 修改物料入库单
*/
@ApiOperation("修改采购入库单基本信息接口")
@PreAuthorize("@ss.hasPermi('mes:wm:itemrecpt:edit')")
@Log(title = "物料入库单", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody WmItemRecpt wmItemRecpt)
{
if(StringUtils.isNotNull(wmItemRecpt.getWarehouseId())){
WmWarehouse warehouse = wmWarehouseService.selectWmWarehouseByWarehouseId(wmItemRecpt.getWarehouseId());
wmItemRecpt.setWarehouseCode(warehouse.getWarehouseCode());
wmItemRecpt.setWarehouseName(warehouse.getWarehouseName());
}
if(StringUtils.isNotNull(wmItemRecpt.getLocationId())){
WmStorageLocation location = wmStorageLocationService.selectWmStorageLocationByLocationId(wmItemRecpt.getLocationId());
wmItemRecpt.setLocationCode(location.getLocationCode());
wmItemRecpt.setLocationName(location.getLocationName());
}
if(StringUtils.isNotNull(wmItemRecpt.getAreaId())){
WmStorageArea area = wmStorageAreaService.selectWmStorageAreaByAreaId(wmItemRecpt.getAreaId());
wmItemRecpt.setAreaCode(area.getAreaCode());
wmItemRecpt.setAreaName(area.getAreaName());
}
return toAjax(wmItemRecptService.updateWmItemRecpt(wmItemRecpt));
}
/**
* 删除物料入库单
*/
@ApiOperation("删除采购入库单基本信息接口")
@PreAuthorize("@ss.hasPermi('mes:wm:itemrecpt:remove')")
@Log(title = "物料入库单", businessType = BusinessType.DELETE)
@Transactional
@DeleteMapping("/{recptIds}")
public AjaxResult remove(@PathVariable Long[] recptIds)
{
for (Long id:
recptIds
) {
WmItemRecpt itemRecpt = wmItemRecptService.selectWmItemRecptByRecptId(id);
if(!UserConstants.ORDER_STATUS_PREPARE.equals(itemRecpt.getStatus())){
return AjaxResult.error("只能删除草稿状态的单据!");
}
wmItemRecptLineService.deleteByRecptId(id);
}
return toAjax(wmItemRecptService.deleteWmItemRecptByRecptIds(recptIds));
}
/**
* 执行入库
* @return
*/
@ApiOperation("执行入库接口")
@PreAuthorize("@ss.hasPermi('mes:wm:itemrecpt:edit')")
@Log(title = "物料入库单", businessType = BusinessType.UPDATE)
@Transactional
@PutMapping("/{recptId}")
public AjaxResult execute(@PathVariable Long recptId){
WmItemRecpt recpt = wmItemRecptService.selectWmItemRecptByRecptId(recptId);
//构造Transaction事务并执行库存更新逻辑
List<ItemRecptTxBean> beans = wmItemRecptService.getTxBeans(recptId);
//调用库存核心
storageCoreService.processItemRecpt(beans);
//更新单据状态
recpt.setStatus(UserConstants.ORDER_STATUS_FINISHED);
wmItemRecptService.updateWmItemRecpt(recpt);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,49 @@
package com.ktg.mes.wm.controller.mobile;
import com.ktg.common.core.controller.BaseController;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.common.core.page.TableDataInfo;
import com.ktg.mes.wm.domain.WmMaterialStock;
import com.ktg.mes.wm.service.IWmMaterialStockService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api("库存现有量查询")
@RestController
@RequestMapping("/mobile/wm/wmstock")
public class WmMaterialStockMobController extends BaseController {
@Autowired
private IWmMaterialStockService wmMaterialStockService;
/**
* 查询库存记录列表
*/
@ApiOperation("查询库存现有量")
@PreAuthorize("@ss.hasPermi('mes:wm:wmstock:list')")
@GetMapping("/list")
public TableDataInfo list(WmMaterialStock wmMaterialStock)
{
startPage();
List<WmMaterialStock> list = wmMaterialStockService.selectWmMaterialStockList(wmMaterialStock);
return getDataTable(list);
}
/**
* 获取库存记录详细信息
*/
@ApiOperation("查询库存现有量明细")
@PreAuthorize("@ss.hasPermi('mes:wm:wmstock:query')")
@GetMapping(value = "/{materialStockId}")
public AjaxResult getInfo(@PathVariable("materialStockId") Long materialStockId)
{
return AjaxResult.success(wmMaterialStockService.selectWmMaterialStockByMaterialStockId(materialStockId));
}
}

View File

@ -0,0 +1,111 @@
package com.ktg.system.domain;
import com.ktg.common.core.domain.BaseEntity;
import java.util.Date;
/**
* 所有用户相关的业务单据
* 用于移动端展示待处理单据和已处理单据
*/
public class UserTask extends BaseEntity {
/**
* 单据类型
*/
private String taskType;
/**
* 单据的ID
*/
private String taskId;
/**
* 单据编码
*/
private String taskCode;
/**
* 单据名称
*/
private String taskName;
/**
* 单据的状态
*/
private String status;
private String nickName;
private String userName;
public String getTaskType() {
return taskType;
}
public void setTaskType(String taskType) {
this.taskType = taskType;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public String getTaskCode() {
return taskCode;
}
public void setTaskCode(String taskCode) {
this.taskCode = taskCode;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
@Override
public String toString() {
return "UserTask{" +
"taskType='" + taskType + '\'' +
", taskId='" + taskId + '\'' +
", taskCode='" + taskCode + '\'' +
", taskName='" + taskName + '\'' +
", status='" + status + '\'' +
", nickName='" + nickName + '\'' +
", userName='" + userName + '\'' +
'}';
}
}

View File

@ -0,0 +1,13 @@
package com.ktg.system.mapper;
import com.ktg.system.domain.UserTask;
import java.util.List;
public interface UserTaskMapper {
public List<UserTask> listTodoList(Long userId);
public List<UserTask> listFinishedList(Long userId);
}

View File

@ -0,0 +1,13 @@
package com.ktg.system.service;
import com.ktg.system.domain.UserTask;
import java.util.List;
public interface IUserTaskService {
public List<UserTask> listTodoList(Long userId);
public List<UserTask> listFinishedList(Long userId);
}

View File

@ -0,0 +1,26 @@
package com.ktg.system.service.impl;
import com.ktg.system.domain.UserTask;
import com.ktg.system.mapper.UserTaskMapper;
import com.ktg.system.service.IUserTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserTaskServiceImpl implements IUserTaskService {
@Autowired
private UserTaskMapper userTaskMapper;
@Override
public List<UserTask> listTodoList(Long userId) {
return userTaskMapper.listTodoList(userId);
}
@Override
public List<UserTask> listFinishedList(Long userId) {
return userTaskMapper.listFinishedList(userId);
}
}

View File

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ktg.system.mapper.UserTaskMapper">
<resultMap type="UserTask" id="UserTaskResult">
<id property="taskId" column="task_id" />
<result property="taskCode" column="task_code" />
<result property="taskName" column="task_name" />
<result property="status" column="status" />
<result property="taskType" column="taskType" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<select id="listTodoList" parameterType="Long" resultMap="UserTaskResult">
select *
from (
select 'ITEMRECPT' as task_type, recpt_id as task_id,recpt_code as task_code,recpt_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_item_recpt wir
where wir.`status` = 'PREPARE'
and wir.create_by = #{userId}
union
select 'WM_RTVENDOR' as task_type, wrv.rt_id as task_id,rt_code as task_code, rt_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_rt_vendor wrv
where wrv.`status` ='PREPARE'
and wrv.create_by = #{userId}
union
select 'ISSUE' as task_type, issue_id as task_id,issue_code as issue_code, issue_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_issue_header wih
where wih.`status` ='PREPARE'
and wih.create_by = #{userId}
union
select 'RTISSUE' as task_type, rt_id as task_id,rt_code as task_code, rt_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_rt_issue wri
where wri.`status` ='PREPARE'
AND wri.create_by = #{userId}
union
select 'PRODUCTRECPT' as task_type, wpr.recpt_id as task_id,recpt_code as task_code, recpt_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_product_recpt wpr
where wpr.`status` ='PREPARE'
and wpr.create_by = #{userId}
union
select 'PRODUCTSALSE' as task_type, wps.salse_id as task_id,salse_code as task_code, salse_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_product_salse wps
where wps.`status` ='PREPARE'
and wps.create_by = #{userId}
union
select 'RTSALSE' as task_type,wrs.rt_id as task_id,rt_code as task_code, rt_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_rt_salse wrs
where wrs.`status` ='PREPARE'
and wrs.create_by = #{userId}
union
select 'TRANSFER' as task_type,wt.transfer_id as task_id,wt.transfer_code as task_code, wt.transfer_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_transfer wt
where wt.`status` ='PREPARE'
and wt.create_by = #{userId}
union
select 'STOCKTAKING' as task_type,wst.taking_id as task_id,wst.taking_code as task_code,wst.taking_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_stock_taking wst
where wst.`status` ='PREPARE'
and wst.create_by = #{userId}
union
select 'FEEDBACK' as task_type,pf.record_id as task_id,feedback_code as task_code,'报工单' as task_name,`status`,create_by,create_time,update_by,update_time
from pro_feedback pf
where pf.`status`='PREPARE'
and pf.create_by = #{userId}
) t
order by create_time, desc
</select>
<select id="listFinishedList" parameterType="Long" resultMap="UserTaskResult">
select *
from (
select 'ITEMRECPT' as task_type, recpt_id as task_id,recpt_code as task_code,recpt_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_item_recpt wir
where wir.`status` != 'PREPARE'
and wir.create_by = #{userId}
union
select 'WM_RTVENDOR' as task_type, wrv.rt_id as task_id,rt_code as task_code, rt_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_rt_vendor wrv
where wrv.`status` !='PREPARE'
and wrv.create_by = #{userId}
union
select 'ISSUE' as task_type, issue_id as task_id,issue_code as issue_code, issue_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_issue_header wih
where wih.`status` !='PREPARE'
and wih.create_by = #{userId}
union
select 'RTISSUE' as task_type, rt_id as task_id,rt_code as task_code, rt_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_rt_issue wri
where wri.`status` !='PREPARE'
AND wri.create_by = #{userId}
union
select 'PRODUCTRECPT' as task_type, wpr.recpt_id as task_id,recpt_code as task_code, recpt_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_product_recpt wpr
where wpr.`status` !='PREPARE'
and wpr.create_by = #{userId}
union
select 'PRODUCTSALSE' as task_type, wps.salse_id as task_id,salse_code as task_code, salse_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_product_salse wps
where wps.`status` !='PREPARE'
and wps.create_by = #{userId}
union
select 'RTSALSE' as task_type,wrs.rt_id as task_id,rt_code as task_code, rt_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_rt_salse wrs
where wrs.`status` !='PREPARE'
and wrs.create_by = #{userId}
union
select 'TRANSFER' as task_type,wt.transfer_id as task_id,wt.transfer_code as task_code, wt.transfer_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_transfer wt
where wt.`status` !='PREPARE'
and wt.create_by = #{userId}
union
select 'STOCKTAKING' as task_type,wst.taking_id as task_id,wst.taking_code as task_code,wst.taking_name as task_name,`status`,create_by,create_time,update_by,update_time
from wm_stock_taking wst
where wst.`status` !='PREPARE'
and wst.create_by = #{userId}
union
select 'FEEDBACK' as task_type,pf.record_id as task_id,feedback_code as task_code,'报工单' as task_name,`status`,create_by,create_time,update_by,update_time
from pro_feedback pf
where pf.`status` !='PREPARE'
and pf.create_by = #{userId}
) t
order by create_time, desc
</select>
</mapper>