Commit d3e141de by 赵剑炜

Merge branch 'develop' of http://gitlab.sothing.top/843502640/jyzb_platformV2 into develop-zhaojw

parents 6e2724e2 b2d73920
...@@ -71,5 +71,7 @@ public class QueryDeviceConfigReq extends BaseRequest { ...@@ -71,5 +71,7 @@ public class QueryDeviceConfigReq extends BaseRequest {
private String updateUser; private String updateUser;
private Integer deviceType; private Integer deviceType;
//是否暂存标记,true暂存,false,不暂存
private Boolean flag;
} }
...@@ -15,4 +15,9 @@ public class TjOrgPriceReq extends BaseRequest { ...@@ -15,4 +15,9 @@ public class TjOrgPriceReq extends BaseRequest {
private List<String> sizeNameList; private List<String> sizeNameList;
//年 //年
private Integer year; private Integer year;
private Boolean removeEmpty;
private Integer levelNum;
} }
...@@ -71,4 +71,12 @@ public class UpdateDeivceConfigReq implements Serializable { ...@@ -71,4 +71,12 @@ public class UpdateDeivceConfigReq implements Serializable {
private Integer deviceType; private Integer deviceType;
//是否暂存标记,true暂存,false,不暂存
private Boolean flag;
//rabbitmq消息有关参数
private String api;
private String msg;
//rabbitmq消息有关参数
private Integer type;
} }
...@@ -175,5 +175,6 @@ public class UpdateOrderReq extends BaseRequest implements Serializable { ...@@ -175,5 +175,6 @@ public class UpdateOrderReq extends BaseRequest implements Serializable {
//是否打印 //是否打印
private String isPrint; private String isPrint;
private Long logSummaryId;
} }
...@@ -70,4 +70,10 @@ public class UpdateWarehouseDevReq { ...@@ -70,4 +70,10 @@ public class UpdateWarehouseDevReq {
private Long updateTime; private Long updateTime;
//rabbitmq消息有关参数
private String api;
private String msg;
//rabbitmq消息有关参数
private Integer type;
} }
...@@ -53,8 +53,8 @@ public class InventoryController { ...@@ -53,8 +53,8 @@ public class InventoryController {
//该方法只有插入语句,要注意inventory_summary表中没有数据,仅有结构,否则数据不准确 //该方法只有插入语句,要注意inventory_summary表中没有数据,仅有结构,否则数据不准确
@PostMapping("/SetInventoryMsg") @PostMapping("/SetInventoryMsg")
@ApiOperation("填充汇总表信息") @ApiOperation("填充汇总表信息")
public ApiRes<Boolean> setInventoryMsg() { public ApiRes<Boolean> setInventoryMsg(InventorySumReq req) {
boolean result = inventoryService.setInventoryMsg(); boolean result = inventoryService.setInventoryMsg(req);
if (!result){ if (!result){
return ApiRes.failure("汇总失败"); return ApiRes.failure("汇总失败");
} }
......
...@@ -49,11 +49,6 @@ public class TjController { ...@@ -49,11 +49,6 @@ public class TjController {
public ApiRes<PageResult<TjOrgEqsDto>> TjOrgEqs(@RequestBody TjOrgEqsReq req){ public ApiRes<PageResult<TjOrgEqsDto>> TjOrgEqs(@RequestBody TjOrgEqsReq req){
return ApiRes.success(tjService.TjOrgEqs(req)); return ApiRes.success(tjService.TjOrgEqs(req));
} }
@PostMapping("/TjOrgEqsSum")
@ApiOperation("/装备统计报表汇总")
public ApiRes<FinalTjOrgEqsDto> TjOrgEqsSum(@RequestBody TjOrgEqsReq req){
return ApiRes.success(tjService.TjOrgEqsSum(req));
}
/** /**
* 根据组织机构统计装备的报表数据(外层数据) * 根据组织机构统计装备的报表数据(外层数据)
...@@ -117,6 +112,12 @@ public class TjController { ...@@ -117,6 +112,12 @@ public class TjController {
return ApiRes.success(tjService.TjOrgPriceSum(req)); return ApiRes.success(tjService.TjOrgPriceSum(req));
} }
@PostMapping("/TjOrgPriceDetail")
@ApiOperation("/查询组织机构下的财务统计明细")
public ApiRes<List<TjOrgPriceDto>> TjOrgPriceDetail(@RequestBody TjOrgPriceReq req){
return ApiRes.success(tjService.TjOrgPriceDetail(req));
}
//财务统计报表(点击+后里面的数据) //财务统计报表(点击+后里面的数据)
@PostMapping("/TjOrgPriceDetailPage") @PostMapping("/TjOrgPriceDetailPage")
@ApiOperation("/查询组织机构下的财务统计明细") @ApiOperation("/查询组织机构下的财务统计明细")
......
...@@ -122,7 +122,7 @@ import static com.junmp.junmpProcess.common.CommonConstants.*; ...@@ -122,7 +122,7 @@ import static com.junmp.junmpProcess.common.CommonConstants.*;
String Type= typeOrder.get(0).getValue().toString(); String Type= typeOrder.get(0).getValue().toString();
if (Type.equals("workOrder") )//出入库单据 if (Type.equals("workOrder") || Type.equals("quickOrder"))//出入库单据
{ {
OrderMain existOrder= orderMainService.getOne(new LambdaQueryWrapper<OrderMain>() OrderMain existOrder= orderMainService.getOne(new LambdaQueryWrapper<OrderMain>()
.eq(OrderMain::getProcessId, processInstanceId)); .eq(OrderMain::getProcessId, processInstanceId));
...@@ -178,6 +178,14 @@ import static com.junmp.junmpProcess.common.CommonConstants.*; ...@@ -178,6 +178,14 @@ import static com.junmp.junmpProcess.common.CommonConstants.*;
bussinessInventoryService.updateById(BI); bussinessInventoryService.updateById(BI);
MQ.SendMsg(exchangeName,BI.getOrgId().toString(),BI); MQ.SendMsg(exchangeName,BI.getOrgId().toString(),BI);
} else
if (Type.equals("normalOrder")){
OrderMain existOrder= orderMainService.getOne(new LambdaQueryWrapper<OrderMain>()
.eq(OrderMain::getProcessId, processInstanceId));
existOrder.setExamineState("finished");
existOrder.setOrderState("finished");
existOrder.setManualState(1);
orderMainService.updateById(existOrder);
} }
//消息推送 //消息推送
MessageSendReq sendReq = new MessageSendReq(); MessageSendReq sendReq = new MessageSendReq();
......
...@@ -22,7 +22,6 @@ public interface DeviceConfigMapper extends BaseMapper<DeviceConfig> { ...@@ -22,7 +22,6 @@ public interface DeviceConfigMapper extends BaseMapper<DeviceConfig> {
int showDeviceConfigCount(@Param("req") QueryDeviceConfigReq req); int showDeviceConfigCount(@Param("req") QueryDeviceConfigReq req);
List<DeviceConfig> showDeviceConfig(@Param("orgId") Long orgId, List<DeviceConfig> showDeviceConfig(@Param("orgId") Long orgId,
@Param("deviceType") Integer deviceType,
@Param("deviceName") String deviceName, @Param("deviceName") String deviceName,
@Param("deviceCode") String deviceCode, @Param("deviceCode") String deviceCode,
@Param("pageNo") Long pageNo, @Param("pageNo") Long pageNo,
......
...@@ -88,4 +88,9 @@ public interface InventoryMapper extends BaseMapper<Inventory> { ...@@ -88,4 +88,9 @@ public interface InventoryMapper extends BaseMapper<Inventory> {
@Param("sizeIdList")List<String> sizeIdList); @Param("sizeIdList")List<String> sizeIdList);
IPage<InventoryDto> GetDetailByTerms(@Param("page") Page<Object> defaultPage, @Param("req") InventoryReq req); IPage<InventoryDto> GetDetailByTerms(@Param("page") Page<Object> defaultPage, @Param("req") InventoryReq req);
void reSetInventory(@Param("summaryTableName") String baseInventorySummary,
@Param("sourceTableName") String baseInventory,
@Param("warrantyThreshold") Integer brokenNumberDays,
@Param("sql") String sql);
} }
\ No newline at end of file
...@@ -47,7 +47,7 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> { ...@@ -47,7 +47,7 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> {
List<TjOrgEqsDto> test(@Param("req") InventoryReq req); List<TjOrgEqsDto> test(@Param("req") InventoryReq req);
TjOrgEqsDto GetInvSum(@Param("orgId") String orgId,@Param("typeId") String typeId,@Param("sizeName") String sizeName); TjOrgEqsDto GetInvSum(@Param("orgId") String orgId,@Param("typeId") String typeId,@Param("sizeName") String sizeName);
TjOrgEqsDto GetSumLeve4(@Param("orgId") String orgId,@Param("typeId") String typeId,@Param("sizeName") String sizeName); TjOrgEqsDto GetSumLeve4(@Param("orgId") String orgId,@Param("typeId") String typeId,@Param("sizeName") String sizeName,@Param("sql") Integer sql);
List<TjOrgEqsDto> selectDynamicView(); List<TjOrgEqsDto> selectDynamicView();
......
...@@ -28,10 +28,10 @@ public interface PriceSumSummaryMapper extends BaseMapper<PriceSumSummary> { ...@@ -28,10 +28,10 @@ public interface PriceSumSummaryMapper extends BaseMapper<PriceSumSummary> {
*/ */
void MonthDifference (); void MonthDifference ();
List<TjOrgPriceDto> TjOrgPrice(@Param("orgId") Long orgId, TjOrgPriceDto TjOrgPrice(@Param("orgId") Long orgId,
@Param("year") Integer year, @Param("year") Integer year,
@Param("typeIdsList")List<String> typeIdsList, @Param("typeIdsList") List<String> typeIdsList,
@Param("sizeNameList") List<String> sizeNameList); @Param("sizeNameList")List<String> sizeNameList);
List<TjOrgPriceDto> TjOrgPriceDetail(@Param("orgId") Long orgId, List<TjOrgPriceDto> TjOrgPriceDetail(@Param("orgId") Long orgId,
@Param("year") Integer year, @Param("year") Integer year,
...@@ -51,4 +51,14 @@ public interface PriceSumSummaryMapper extends BaseMapper<PriceSumSummary> { ...@@ -51,4 +51,14 @@ public interface PriceSumSummaryMapper extends BaseMapper<PriceSumSummary> {
void setSizeName(@Param("sizeId") String id, @Param("sizeName") String name); void setSizeName(@Param("sizeId") String id, @Param("sizeName") String name);
void setTypeName(@Param("typeId") String id, @Param("typeName") String name); void setTypeName(@Param("typeId") String id, @Param("typeName") String name);
TjOrgPriceDto TjOrgPriceLeve4(@Param("orgId") Long orgId,
@Param("year") Integer year,
@Param("typeIdsList") List<String> typeIdsList,
@Param("sizeNameList")List<String> sizeNameList,@Param("levelFlag")Integer levelFlag);
List<TjOrgPriceDto> TjOrgPriceTotalNum(@Param("orgId") Long orgId,
@Param("year") Integer year,
@Param("typeIdsList") List<String> typeIdsList,
@Param("sizeNameList")List<String> sizeNameList,@Param("levelNum")Integer levelNum);
} }
...@@ -22,7 +22,7 @@ public interface InventoryService extends IService<Inventory> { ...@@ -22,7 +22,7 @@ public interface InventoryService extends IService<Inventory> {
//计算更新库存汇总表信息 //计算更新库存汇总表信息
boolean setInventoryMsg(); boolean setInventoryMsg(InventorySumReq req);
boolean UpdateWarehouseInsNum(WarehouseReq req); boolean UpdateWarehouseInsNum(WarehouseReq req);
......
...@@ -54,5 +54,5 @@ public interface OrderMainService extends IService<OrderMain> { ...@@ -54,5 +54,5 @@ public interface OrderMainService extends IService<OrderMain> {
OrderNum setOrderCode(UpdateOrderReq req); OrderNum setOrderCode(UpdateOrderReq req);
//快速创建入库单(快速移库内容) //快速创建入库单(快速移库内容)
boolean addQuickOrder(OrderMain existOrder); // boolean addQuickOrder(OrderMain existOrder);
} }
...@@ -30,9 +30,8 @@ public interface TjService { ...@@ -30,9 +30,8 @@ public interface TjService {
PageResult<TjOrgPriceDto> TjOrgPriceDetailPage(TjOrgPriceReq req); PageResult<TjOrgPriceDto> TjOrgPriceDetailPage(TjOrgPriceReq req);
List<TjOrgPriceDto> TjOrgPriceDetailList(TjOrgPriceReq req); List<TjOrgPriceDto> TjOrgPriceDetailList(TjOrgPriceReq req);
FinalTjOrgEqsDto TjOrgEqsSum(TjOrgEqsReq req);
FinalTjOrgPriceDto TjOrgPriceSum(TjOrgPriceReq req); FinalTjOrgPriceDto TjOrgPriceSum(TjOrgPriceReq req);
List<TjOrgPriceDto> TjOrgPriceDetail(TjOrgPriceReq req);
PageResult<TjOrgCountDto> TjOrgCount(TjOrgCountReq req); PageResult<TjOrgCountDto> TjOrgCount(TjOrgCountReq req);
...@@ -62,4 +61,6 @@ public interface TjService { ...@@ -62,4 +61,6 @@ public interface TjService {
PageResult<TjOrgEqsDto> test1(TjOrgEqsReq req); PageResult<TjOrgEqsDto> test1(TjOrgEqsReq req);
FinalTjOrgEqsDto TjOrgDataSum(TjOrgEqsReq req); FinalTjOrgEqsDto TjOrgDataSum(TjOrgEqsReq req);
} }
...@@ -15,11 +15,13 @@ import com.junmp.jyzb.service.DeviceConfigService; ...@@ -15,11 +15,13 @@ import com.junmp.jyzb.service.DeviceConfigService;
import com.junmp.jyzb.mapper.DeviceConfigMapper; import com.junmp.jyzb.mapper.DeviceConfigMapper;
import com.junmp.jyzb.service.WarehouseDevService; import com.junmp.jyzb.service.WarehouseDevService;
import com.junmp.jyzb.utils.DateTimeUtil; import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.jyzb.utils.RabbitMQSendMsg;
import com.junmp.v2.common.util.BeanPlusUtil; import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory; import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory; import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult; import com.junmp.v2.db.api.page.PageResult;
import net.minidev.json.writer.BeansMapper; import net.minidev.json.writer.BeansMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -38,6 +40,9 @@ public class DeviceConfigServiceImpl extends ServiceImpl<DeviceConfigMapper, Dev ...@@ -38,6 +40,9 @@ public class DeviceConfigServiceImpl extends ServiceImpl<DeviceConfigMapper, Dev
@Resource @Resource
private DeviceConfigMapper deviceConfigMapper; private DeviceConfigMapper deviceConfigMapper;
@Autowired
private RabbitMQSendMsg MQ;
@Override @Override
...@@ -47,6 +52,14 @@ public class DeviceConfigServiceImpl extends ServiceImpl<DeviceConfigMapper, Dev ...@@ -47,6 +52,14 @@ public class DeviceConfigServiceImpl extends ServiceImpl<DeviceConfigMapper, Dev
deviceConfig.setCreateTime(DateTimeUtil.getCurrentDateTime()); deviceConfig.setCreateTime(DateTimeUtil.getCurrentDateTime());
deviceConfig.setUpdateTime(DateTimeUtil.getCurrentDateTime()); deviceConfig.setUpdateTime(DateTimeUtil.getCurrentDateTime());
save(deviceConfig); save(deviceConfig);
String exchangeName="orderExchange";
//判断是否暂存,将消息下发给本地主机
if(!req.getFlag()){
req.setApi("InfoChange");
req.setType(8);
req.setMsg("DeviceConfigChange");
MQ.SendMsg(exchangeName,req.getOrgId().toString(),req);
}
return deviceConfig.getId() ; return deviceConfig.getId() ;
} }
...@@ -55,6 +68,14 @@ public class DeviceConfigServiceImpl extends ServiceImpl<DeviceConfigMapper, Dev ...@@ -55,6 +68,14 @@ public class DeviceConfigServiceImpl extends ServiceImpl<DeviceConfigMapper, Dev
DeviceConfig deviceConfig = new DeviceConfig(); DeviceConfig deviceConfig = new DeviceConfig();
BeanPlusUtil.copyProperties(req,deviceConfig); BeanPlusUtil.copyProperties(req,deviceConfig);
deviceConfig.setUpdateTime(DateTimeUtil.getCurrentDateTime()); deviceConfig.setUpdateTime(DateTimeUtil.getCurrentDateTime());
String exchangeName="orderExchange";
//判断是否暂存,将消息下发给本地主机
if(!req.getFlag()){
req.setApi("InfoChange");
req.setType(8);
req.setMsg("DeviceConfigChange");
MQ.SendMsg(exchangeName,req.getOrgId().toString(),req);
}
return updateById(deviceConfig); return updateById(deviceConfig);
} }
...@@ -65,7 +86,7 @@ public class DeviceConfigServiceImpl extends ServiceImpl<DeviceConfigMapper, Dev ...@@ -65,7 +86,7 @@ public class DeviceConfigServiceImpl extends ServiceImpl<DeviceConfigMapper, Dev
req.setPageNo(1L); req.setPageNo(1L);
req.setPageSize(10L); req.setPageSize(10L);
} }
List<DeviceConfig> list=deviceConfigMapper.showDeviceConfig(req.getOrgId(),req.getDeviceType(),req.getDeviceName(), List<DeviceConfig> list=deviceConfigMapper.showDeviceConfig(req.getOrgId(),req.getDeviceName(),
req.getDeviceCode(),(req.getPageNo()-1)*req.getPageSize(),req.getPageSize()); req.getDeviceCode(),(req.getPageNo()-1)*req.getPageSize(),req.getPageSize());
Page<DeviceConfig> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()); Page<DeviceConfig> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
page.setTotal(size); page.setTotal(size);
...@@ -75,7 +96,7 @@ public class DeviceConfigServiceImpl extends ServiceImpl<DeviceConfigMapper, Dev ...@@ -75,7 +96,7 @@ public class DeviceConfigServiceImpl extends ServiceImpl<DeviceConfigMapper, Dev
@Override @Override
public List<DeviceConfig> showDeviceConfigList(QueryDeviceConfigReq req) { public List<DeviceConfig> showDeviceConfigList(QueryDeviceConfigReq req) {
List<DeviceConfig> list=deviceConfigMapper.showDeviceConfig(req.getOrgId(),req.getDeviceType(),req.getDeviceName(), List<DeviceConfig> list=deviceConfigMapper.showDeviceConfig(req.getOrgId(),req.getDeviceName(),
req.getDeviceCode(),null,null); req.getDeviceCode(),null,null);
return list; return list;
} }
......
...@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -132,7 +133,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -132,7 +133,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean setInventoryMsg(){ public boolean setInventoryMsg(InventorySumReq req){
//查询字典表中的临近报废天数 //查询字典表中的临近报废天数
SysDictItem sysDictItem = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>() SysDictItem sysDictItem = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getItemText, "brokenNumber")); .eq(SysDictItem::getItemText, "brokenNumber"));
...@@ -143,12 +144,15 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -143,12 +144,15 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
}else { }else {
brokenNumberDays=Integer.parseInt(sysDictItem.getItemValue()); brokenNumberDays=Integer.parseInt(sysDictItem.getItemValue());
} }
//放入仓库区域信息汇总 boolean b = inventorySummaryService.remove(new LambdaQueryWrapper<InventorySummary>().eq(InventorySummary::getOrgId, req.getOrgId()));
boolean b1 = inventoryMapper.SetWarehouseInventory(brokenNumberDays); // //放入仓库区域信息汇总
//放入单警柜信息汇总 // boolean b1 = inventoryMapper.SetWarehouseInventory(brokenNumberDays);
boolean b = inventoryMapper.SetCabinetInventory(brokenNumberDays); // //放入单警柜信息汇总
// boolean b = inventoryMapper.SetCabinetInventory(brokenNumberDays);
String sql="and bi.org_id_int = "+req.getOrgId();
inventoryMapper.reSetInventory("base_inventory_summary","base_inventory",brokenNumberDays,sql);
return (b && b1); return (b);
} }
...@@ -351,6 +355,9 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -351,6 +355,9 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
is.setStockNumber(is.getStockNumber()-size); is.setStockNumber(is.getStockNumber()-size);
is.setNumber(is.getNumber()-size); is.setNumber(is.getNumber()-size);
is.setPrice(is.getUnitPrice().multiply(BigDecimal.valueOf(is.getNumber()))); is.setPrice(is.getUnitPrice().multiply(BigDecimal.valueOf(is.getNumber())));
if (is.getNumber()==0 && is.getStockNumber()==0 && is.getOutboundNumber()==0 && is.getDestructionNumber()==0){
delList.add(is);
}
//新增一条数据 //新增一条数据
InventorySummary inventorySummary = new InventorySummary(); InventorySummary inventorySummary = new InventorySummary();
BeanPlusUtil.copyProperties(req,inventorySummary); BeanPlusUtil.copyProperties(req,inventorySummary);
......
...@@ -31,7 +31,7 @@ import java.util.List; ...@@ -31,7 +31,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import static com.junmp.junmpProcess.common.CommonConstants.BUSSINESS_TYPE; import static com.junmp.junmpProcess.common.CommonConstants.BUSSINESS_TYPE;
import static com.junmp.junmpProcess.common.CommonConstants.ORDER_TYPE; import static com.junmp.junmpProcess.common.CommonConstants.TYPE_ORDER;
@Service @Service
public class OrderCommonServiceImpl implements OrderCommonService { public class OrderCommonServiceImpl implements OrderCommonService {
...@@ -67,7 +67,7 @@ public class OrderCommonServiceImpl implements OrderCommonService { ...@@ -67,7 +67,7 @@ public class OrderCommonServiceImpl implements OrderCommonService {
// Map<String, Object> processVariables = task.getProcessVariables(); // Map<String, Object> processVariables = task.getProcessVariables();
//单据类型(出入库单、调岗单、业务单、盘库单) //单据类型(出入库单、调岗单、业务单、盘库单)
// String orderType = MapUtil.getStr(processVariables, ORDER_TYPE); // String orderType = MapUtil.getStr(processVariables, ORDER_TYPE);
String orderType= MapUtil.getStr(processInstance.getProcessVariables(),ORDER_TYPE); String orderType= MapUtil.getStr(processInstance.getProcessVariables(),TYPE_ORDER);
//单据业务类型(采购啥的......) //单据业务类型(采购啥的......)
String bussinessType= MapUtil.getStr(processInstance.getProcessVariables(),BUSSINESS_TYPE); String bussinessType= MapUtil.getStr(processInstance.getProcessVariables(),BUSSINESS_TYPE);
// String bussinessType = MapUtil.getStr(processVariables, BUSSINESS_TYPE); // String bussinessType = MapUtil.getStr(processVariables, BUSSINESS_TYPE);
......
...@@ -193,6 +193,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -193,6 +193,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
List<OrderDetail> detailList = new ArrayList<>(); List<OrderDetail> detailList = new ArrayList<>();
//通过遍历批量保存详细信息 //通过遍历批量保存详细信息
String s=""; String s="";
if (req.getLogSummaryId() !=null){
if (req.getOrderType().equals("in")){ if (req.getOrderType().equals("in")){
Long dictId = sysDictService.getOne(new LambdaQueryWrapper<SysDict>() Long dictId = sysDictService.getOne(new LambdaQueryWrapper<SysDict>()
.eq(SysDict::getDictCode, "bussiness_type")).getDictId(); .eq(SysDict::getDictCode, "bussiness_type")).getDictId();
...@@ -208,6 +209,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -208,6 +209,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
.eq(SysDictItem::getItemValue, req.getBussinessType())).getItemText(); .eq(SysDictItem::getItemValue, req.getBussinessType())).getItemText();
s=s+itemText+"单:"; s=s+itemText+"单:";
} }
}
List<Object[]> searchItem=new ArrayList<>(); List<Object[]> searchItem=new ArrayList<>();
for (UpdateOrderDetailReq listReq:req.getDetailList()) { for (UpdateOrderDetailReq listReq:req.getDetailList()) {
OrderDetail detail=new OrderDetail(); OrderDetail detail=new OrderDetail();
...@@ -229,7 +232,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -229,7 +232,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
} }
} }
//添加日志记录 //添加日志记录
if (req.getLogSummaryId() !=null){
s=s+listReq.getWarehouseName()+"【"+listReq.getTypeName()+"--"+listReq.getSizeName()+"】预计数量:"+listReq.getPlanNum()+"\n"; s=s+listReq.getWarehouseName()+"【"+listReq.getTypeName()+"--"+listReq.getSizeName()+"】预计数量:"+listReq.getPlanNum()+"\n";
}
detailList.add(detail); detailList.add(detail);
Object[] item=new Object[]{req.getStartOrgId(),listReq.getWarehouseId(),listReq.getTypeId(),listReq.getSizeId(),listReq.getPrice()}; Object[] item=new Object[]{req.getStartOrgId(),listReq.getWarehouseId(),listReq.getTypeId(),listReq.getSizeId(),listReq.getPrice()};
searchItem.add(item); searchItem.add(item);
...@@ -258,6 +263,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -258,6 +263,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
startProcessInstanceDTO.setTypeOrder("quickOrder"); startProcessInstanceDTO.setTypeOrder("quickOrder");
processInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO); processInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
}else if (req.getLogSummaryId()!=null && req.getExamineState().equals("working")){
startProcessInstanceDTO.setTypeOrder("normalOrder");
processInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
} }
} }
//如果是销毁出库,并且有审核流,那么直接将库存汇总信息进行修改 //如果是销毁出库,并且有审核流,那么直接将库存汇总信息进行修改
...@@ -306,6 +314,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -306,6 +314,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
if (order.getProcessId()!=null){ if (order.getProcessId()!=null){
boolean b = addOrderLog(req,order.getId(),order.getOrderCode(),s); boolean b = addOrderLog(req,order.getId(),order.getOrderCode(),s);
} }
String objJson= redisCache.get(order.getProcessId()); String objJson= redisCache.get(order.getProcessId());
redisCache.remove(order.getProcessId()); redisCache.remove(order.getProcessId());
List<MessageSendReq> msgs= JSONObject.parseArray(objJson,MessageSendReq.class); List<MessageSendReq> msgs= JSONObject.parseArray(objJson,MessageSendReq.class);
...@@ -318,6 +327,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -318,6 +327,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
); );
} }
return list; return list;
} }
...@@ -920,7 +930,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -920,7 +930,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//如果是快速移库,记账完成之后新增入库单并且该单据不走审核流,但是审核状态和入库状态显示已完成 //如果是快速移库,记账完成之后新增入库单并且该单据不走审核流,但是审核状态和入库状态显示已完成
boolean g=true; boolean g=true;
if (req.getBussinessType().equals("quick")){ if (req.getBussinessType().equals("quick")){
g = addQuickOrder(orderMain); g = handleQuickOrder(orderMain);
}else { }else {
d=updateSummaryInfo(req, orderDetailReqList, pubOrg.getOrgId(), pubOrg.getOrgCode(),pubOrg.getOrgName()); d=updateSummaryInfo(req, orderDetailReqList, pubOrg.getOrgId(), pubOrg.getOrgCode(),pubOrg.getOrgName());
} }
...@@ -1425,56 +1435,13 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1425,56 +1435,13 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
public boolean addQuickOrder(OrderMain existOrder) {
//创建新的orderMain入库单 public boolean handleQuickOrder(OrderMain existOrder) {
OrderMain orderMain = new OrderMain();
BeanPlusUtil.copyProperties(existOrder,orderMain);
orderMain.setEndOrgId(existOrder.getStartOrgId());
orderMain.setEndOrgName(existOrder.getStartOrgName());
orderMain.setOrderType("in");
orderMain.setId(UUID.randomUUID().toString());
//工作流流程设为空
orderMain.setProcessId(null);
//修改订单编号,设置为入库的单号
UpdateOrderReq req = new UpdateOrderReq();
BeanPlusUtil.copyProperties(orderMain,req);
OrderNum orderNum = setOrderCode(req);
String codeValue=String.format("%04d",orderNum.getNum());
orderMain.setOrderCode(orderNum.getBussinessType()+orderNum.getYear()+
String.format("%02d",LocalDateTime.now().getMonth().getValue())+
String.format("%02d",LocalDateTime.now().getDayOfMonth())+codeValue);
//保存入库单
save(orderMain);
//查询出库子单用于赋值到入库单中
List<OrderDetail> list = orderDetailService.list(new LambdaQueryWrapper<OrderDetail>()
.eq(OrderDetail::getOrderId, existOrder.getId()));
//查询条件,将所有查询条件放在searchCriteria中,用于修改库存表中的装备的仓库位置
//原来出库单的查询条件list(根据条件查询库存汇总表中包含有相同条件的数据) //原来出库单的查询条件list(根据条件查询库存汇总表中包含有相同条件的数据)
List<Object[]> searchCriteria=new ArrayList<>(); List<Object[]> searchCriteria=new ArrayList<>();
//新建的入库单查询条件list(根据条件查询库存汇总表中是否包含有相同条件的数据) //新建的入库单查询条件list(根据条件查询库存汇总表中是否包含有相同条件的数据)
List<Object[]> updateCriteria=new ArrayList<>(); List<Object[]> updateCriteria=new ArrayList<>();
//仓库id addQuickOrder(existOrder,searchCriteria,updateCriteria);
String locationId = orderMain.getLocationId();
String locationName = orderMain.getLocationName();
//创建入库单子单
List<OrderDetail> collect = list.stream().map(orderDetail -> {
OrderDetail orderDetail1 = new OrderDetail();
BeanPlusUtil.copyProperties(orderDetail, orderDetail1);
orderDetail1.setId(null);
//修改主单据id
orderDetail1.setOrderId(orderMain.getId());
//修改单据出入状态
orderDetail1.setType("in");
//修改仓库id
orderDetail1.setWarehouseId(locationId);
orderDetail1.setWarehouseName(locationName);
Object[] criteria=new Object[]{existOrder.getStartOrgId(),orderDetail.getWarehouseId(),orderDetail.getTypeId(),orderDetail.getSizeId(),orderDetail.getPrice()};
searchCriteria.add(criteria);
Object[] update=new Object[]{orderMain.getEndOrgId(),locationId,orderDetail1.getTypeId(),orderDetail1.getSizeId(),orderDetail1.getPrice()};
updateCriteria.add(update);
return orderDetail1;
}).collect(Collectors.toList());
orderDetailService.saveBatch(collect);
//将summary汇总表中数据进行修改(修改该组织机构下的装备汇总信息将库存信息的在库数,库存总数,总价还有其他数据数量进行修改) //将summary汇总表中数据进行修改(修改该组织机构下的装备汇总信息将库存信息的在库数,库存总数,总价还有其他数据数量进行修改)
...@@ -1483,100 +1450,100 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1483,100 +1450,100 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//其次查询出修改后的仓库下面的汇总信息,判断该仓库下是否已经存在该号型、类型、单价相同的装备数据 //其次查询出修改后的仓库下面的汇总信息,判断该仓库下是否已经存在该号型、类型、单价相同的装备数据
List<InventorySummary> newSummaryList = inventorySummaryMapper.selectSumByItems(updateCriteria); List<InventorySummary> newSummaryList = inventorySummaryMapper.selectSumByItems(updateCriteria);
//第一步:判断是否将报废区的数据也同样进行移库(flag=true表示将报废区的数量进行一起移动),如果都没有报废数量,默认是true; //第一步:判断是否将报废区的数据也同样进行移库(flag=true表示将报废区的数量进行一起移动),如果都没有报废数量,默认是true;
boolean flag = oldSummaryList.stream() // boolean flag = oldSummaryList.stream()
.noneMatch(oldsum -> oldsum.getBrokenNumber() > 0) // .noneMatch(oldsum -> oldsum.getBrokenNumber() > 0)
|| oldSummaryList.stream() // || oldSummaryList.stream()
.filter(oldsum -> oldsum.getBrokenNumber() > 0) // .filter(oldsum -> oldsum.getBrokenNumber() > 0)
.anyMatch(oldsum -> list.stream() // .anyMatch(oldsum -> list.stream()
.anyMatch(orderDetail -> orderDetail.getSizeId().equals(oldsum.getSizeId()) // .anyMatch(orderDetail -> orderDetail.getSizeId().equals(oldsum.getSizeId())
&& orderDetail.getTypeId().equals(oldsum.getTypeId()) // && orderDetail.getTypeId().equals(oldsum.getTypeId())
&& orderDetail.getPrice().compareTo(oldsum.getUnitPrice()) == 0 // && orderDetail.getPrice().compareTo(oldsum.getUnitPrice()) == 0
&& oldsum.getBrokenNumber() + orderDetail.getPlanNum() == oldsum.getStockNumber()) // && oldsum.getBrokenNumber() + orderDetail.getPlanNum() == oldsum.getStockNumber())
); // );
//创建删除列表用于将没用的数据汇总信息进行删除 //创建删除列表用于将没用的数据汇总信息进行删除
List<InventorySummary> deleteList=new ArrayList<>(); List<InventorySummary> deleteList=new ArrayList<>();
//将修改的信息直接保存(需要的只是各种数量方便计算) //将修改的信息直接保存(需要的只是各种数量方便计算)
List<InventorySummary> saveList=new ArrayList<>(); List<InventorySummary> saveList=new ArrayList<>();
//如果整个报废区进行移动,那么将各个数量进行修改 //如果整个报废区进行移动,那么将各个数量进行修改
if (flag){ // if (flag){
//修改的的是移出仓库的数量 // //修改的的是移出仓库的数量
for (OrderDetail orderDetail: list ) { // for (OrderDetail orderDetail: list ) {
for (InventorySummary oldSum : oldSummaryList) { // for (InventorySummary oldSum : oldSummaryList) {
//如果组织机构、仓库id、sizeId、typeId、unitPrice相同,那么修改其各项数值(不会存在两个列表长度不对等的情况,一定是一对一的,只不过是顺序问题,所以需要进行遍历) // //如果组织机构、仓库id、sizeId、typeId、unitPrice相同,那么修改其各项数值(不会存在两个列表长度不对等的情况,一定是一对一的,只不过是顺序问题,所以需要进行遍历)
if (orderDetail.getSizeId().equals(oldSum.getSizeId()) // if (orderDetail.getSizeId().equals(oldSum.getSizeId())
&& orderDetail.getTypeId().equals(oldSum.getTypeId()) // && orderDetail.getTypeId().equals(oldSum.getTypeId())
&& orderDetail.getPrice().compareTo(oldSum.getUnitPrice()) == 0) { // && orderDetail.getPrice().compareTo(oldSum.getUnitPrice()) == 0) {
InventorySummary inventorySummary = new InventorySummary(); // InventorySummary inventorySummary = new InventorySummary();
BeanPlusUtil.copyProperties(oldSum,inventorySummary); // BeanPlusUtil.copyProperties(oldSum,inventorySummary);
inventorySummary.setLocationId(locationId); // inventorySummary.setLocationId(locationId);
inventorySummary.setLocationName(locationName); // inventorySummary.setLocationName(locationName);
inventorySummary.setNumber(orderDetail.getPlanNum()+oldSum.getOutboundNumber()); // inventorySummary.setNumber(orderDetail.getPlanNum()+oldSum.getOutboundNumber());
inventorySummary.setPrice(orderDetail.getPrice().multiply(BigDecimal.valueOf(orderDetail.getPlanNum()))); // inventorySummary.setPrice(orderDetail.getPrice().multiply(BigDecimal.valueOf(orderDetail.getPlanNum())));
inventorySummary.setStockNumber(orderDetail.getPlanNum()); // inventorySummary.setStockNumber(orderDetail.getPlanNum());
inventorySummary.setDestructionNumber(0); // inventorySummary.setDestructionNumber(0);
//销毁金额也为0 // //销毁金额也为0
inventorySummary.setDestructionPrice(BigDecimal.ZERO); // inventorySummary.setDestructionPrice(BigDecimal.ZERO);
inventorySummary.setId(null); // inventorySummary.setId(null);
inventorySummary.setValuekey(null); // inventorySummary.setValuekey(null);
saveList.add(inventorySummary); // saveList.add(inventorySummary);
//如果存在删减数量完成之后所有的数量值都是0的情况,那么将这一条数据进行删除操作 // //如果存在删减数量完成之后所有的数量值都是0的情况,那么将这一条数据进行删除操作
if (oldSum.getDestructionNumber() == 0) { // if (oldSum.getDestructionNumber() == 0) {
deleteList.add(oldSum); // deleteList.add(oldSum);
}else { // }else {
oldSum.setBrokenNumber(0); // oldSum.setBrokenNumber(0);
oldSum.setNumber(0); // oldSum.setNumber(0);
oldSum.setPrice(BigDecimal.ZERO); // oldSum.setPrice(BigDecimal.ZERO);
oldSum.setStockNumber(0); // oldSum.setStockNumber(0);
oldSum.setOutboundNumber(0); // oldSum.setOutboundNumber(0);
oldSum.setUseNumber(0); // oldSum.setUseNumber(0);
oldSum.setExpireNumber(0); // oldSum.setExpireNumber(0);
oldSum.setNearBrokenNumber(0); // oldSum.setNearBrokenNumber(0);
} // }
break;//查询到直接跳过该循环进入下一循环 // break;//查询到直接跳过该循环进入下一循环
} // }
} // }
} // }
}else {//不将报废区的进行移动(修改的是移出仓库的库存数量) // }else {//不将报废区的进行移动(修改的是移出仓库的库存数量)
for (OrderDetail orderDetail: list ) { // for (OrderDetail orderDetail: list ) {
for (InventorySummary oldSum : oldSummaryList) { // for (InventorySummary oldSum : oldSummaryList) {
//如果组织机构、仓库id、sizeId、typeId、unitPrice相同,那么修改其各项数值( // //如果组织机构、仓库id、sizeId、typeId、unitPrice相同,那么修改其各项数值(
// 不会存在两个列表长度不对等的情况,一定是一对一的,只不过是顺序问题,所以需要进行遍历) // // 不会存在两个列表长度不对等的情况,一定是一对一的,只不过是顺序问题,所以需要进行遍历)
if (orderDetail.getSizeId().equals(oldSum.getSizeId()) // if (orderDetail.getSizeId().equals(oldSum.getSizeId())
&& orderDetail.getTypeId().equals(oldSum.getTypeId()) // && orderDetail.getTypeId().equals(oldSum.getTypeId())
&& orderDetail.getPrice().compareTo(oldSum.getUnitPrice()) == 0) { // && orderDetail.getPrice().compareTo(oldSum.getUnitPrice()) == 0) {
InventorySummary inventorySummary = new InventorySummary(); // InventorySummary inventorySummary = new InventorySummary();
BeanPlusUtil.copyProperties(oldSum,inventorySummary); // BeanPlusUtil.copyProperties(oldSum,inventorySummary);
inventorySummary.setLocationId(locationId); // inventorySummary.setLocationId(locationId);
inventorySummary.setLocationName(locationName); // inventorySummary.setLocationName(locationName);
//在库数量进行修改并且报废数设为0 // //在库数量进行修改并且报废数设为0
inventorySummary.setBrokenNumber(0); // inventorySummary.setBrokenNumber(0);
inventorySummary.setNumber(orderDetail.getPlanNum()+oldSum.getOutboundNumber()); // inventorySummary.setNumber(orderDetail.getPlanNum()+oldSum.getOutboundNumber());
inventorySummary.setPrice(orderDetail.getPrice().multiply(BigDecimal.valueOf(orderDetail.getPlanNum()+oldSum.getOutboundNumber()))); // inventorySummary.setPrice(orderDetail.getPrice().multiply(BigDecimal.valueOf(orderDetail.getPlanNum()+oldSum.getOutboundNumber())));
inventorySummary.setStockNumber(orderDetail.getPlanNum()); // inventorySummary.setStockNumber(orderDetail.getPlanNum());
inventorySummary.setDestructionNumber(0); // inventorySummary.setDestructionNumber(0);
inventorySummary.setDestructionPrice(BigDecimal.ZERO); // inventorySummary.setDestructionPrice(BigDecimal.ZERO);
inventorySummary.setId(null); // inventorySummary.setId(null);
inventorySummary.setValuekey(null); // inventorySummary.setValuekey(null);
saveList.add(inventorySummary); // saveList.add(inventorySummary);
//
oldSum.setNumber(oldSum.getNumber()-orderDetail.getPlanNum()); // oldSum.setNumber(oldSum.getNumber()-orderDetail.getPlanNum());
oldSum.setPrice(oldSum.getPrice().subtract(orderDetail.getPrice().multiply(BigDecimal.valueOf(orderDetail.getPlanNum())))); // oldSum.setPrice(oldSum.getPrice().subtract(orderDetail.getPrice().multiply(BigDecimal.valueOf(orderDetail.getPlanNum()))));
oldSum.setStockNumber(oldSum.getNumber()-orderDetail.getPlanNum()); // oldSum.setStockNumber(oldSum.getNumber()-orderDetail.getPlanNum());
oldSum.setOutboundNumber(0); // oldSum.setOutboundNumber(0);
oldSum.setNearBrokenNumber(0); // oldSum.setNearBrokenNumber(0);
oldSum.setExpireNumber(0); // oldSum.setExpireNumber(0);
oldSum.setUseNumber(0); // oldSum.setUseNumber(0);
//
//如果存在删减数量完成之后所有的数量值都是0的情况,那么将这一条数据进行删除操作 // //如果存在删减数量完成之后所有的数量值都是0的情况,那么将这一条数据进行删除操作
if (oldSum.getBrokenNumber()==0&& oldSum.getDestructionNumber() == 0) { // if (oldSum.getBrokenNumber()==0&& oldSum.getDestructionNumber() == 0) {
deleteList.add(oldSum); // deleteList.add(oldSum);
} // }
break;//查询到直接跳过该循环进入下一循环 // break;//查询到直接跳过该循环进入下一循环
} // }
} // }
} // }
} // }
//判断查询到的newList是否有值,如果有值直接进行修改即可,但是如果不存在,则默认新增一条数据 //判断查询到的newList是否有值,如果有值直接进行修改即可,但是如果不存在,则默认新增一条数据
//修改的是移入仓库的值 //修改的是移入仓库的值
...@@ -1624,22 +1591,74 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1624,22 +1591,74 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//需要判断是否将报废区的数据进行移库,如果移动,那么所有的装备修改仓库id //需要判断是否将报废区的数据进行移库,如果移动,那么所有的装备修改仓库id
//如果保留报废区,那么将报废区的数量不进行修改,其余数据进行修改 //如果保留报废区,那么将报废区的数量不进行修改,其余数据进行修改
List<Inventory> eqsList = inventoryService.selectEqsByItem(searchCriteria); List<Inventory> eqsList = inventoryService.selectEqsByItem(searchCriteria);
for (Inventory inventory : eqsList) { // for (Inventory inventory : eqsList) {
for (OrderDetail detail2 : collect) { // for (OrderDetail detail2 : collect) {
if (inventory.getOrgId().equals(existOrder.getStartOrgId()) // if (inventory.getOrgId().equals(existOrder.getStartOrgId())
&& inventory.getSizeId().equals(detail2.getSizeId()) // && inventory.getSizeId().equals(detail2.getSizeId())
&& inventory.getTypeId().equals(detail2.getTypeId()) // && inventory.getTypeId().equals(detail2.getTypeId())
&& inventory.getPrice().equals(detail2.getPrice())) { // && inventory.getPrice().equals(detail2.getPrice())) {
// 修改 仓库id // // 修改 仓库id
inventory.setLocationId(detail2.getWarehouseId()); // inventory.setLocationId(detail2.getWarehouseId());
break; // 找到匹配的对象后跳出内循环 // break; // 找到匹配的对象后跳出内循环
} // }
} // }
} // }
boolean d=inventoryService.updateBatchById(eqsList); boolean d=inventoryService.updateBatchById(eqsList);
return a && b && c && d; return a && b && c && d;
} }
private Map<String,Object> addQuickOrder (OrderMain existOrder,List<Object[]> searchCriteria,List<Object[]> updateCriteria){
//创建新的orderMain入库单
OrderMain orderMain = new OrderMain();
BeanPlusUtil.copyProperties(existOrder,orderMain);
orderMain.setEndOrgId(existOrder.getStartOrgId());
orderMain.setEndOrgName(existOrder.getStartOrgName());
orderMain.setOrderType("in");
orderMain.setId(UUID.randomUUID().toString());
//工作流流程设为空
orderMain.setProcessId(null);
//修改订单编号,设置为入库的单号
UpdateOrderReq req = new UpdateOrderReq();
BeanPlusUtil.copyProperties(orderMain,req);
OrderNum orderNum = setOrderCode(req);
String codeValue=String.format("%04d",orderNum.getNum());
orderMain.setOrderCode(orderNum.getBussinessType()+orderNum.getYear()+
String.format("%02d",LocalDateTime.now().getMonth().getValue())+
String.format("%02d",LocalDateTime.now().getDayOfMonth())+codeValue);
//保存入库单
save(orderMain);
//查询出库子单用于赋值到入库单中
List<OrderDetail> list = orderDetailService.list(new LambdaQueryWrapper<OrderDetail>()
.eq(OrderDetail::getOrderId, existOrder.getId()));
//查询条件,将所有查询条件放在searchCriteria中,用于修改库存表中的装备的仓库位置
//仓库id
String locationId = orderMain.getLocationId();
String locationName = orderMain.getLocationName();
//创建入库单子单
List<OrderDetail> collect = list.stream().map(orderDetail -> {
OrderDetail orderDetail1 = new OrderDetail();
BeanPlusUtil.copyProperties(orderDetail, orderDetail1);
orderDetail1.setId(null);
//修改主单据id
orderDetail1.setOrderId(orderMain.getId());
//修改单据出入状态
orderDetail1.setType("in");
//修改仓库id
orderDetail1.setWarehouseId(locationId);
orderDetail1.setWarehouseName(locationName);
Object[] criteria=new Object[]{existOrder.getStartOrgId(),orderDetail.getWarehouseId(),orderDetail.getTypeId(),orderDetail.getSizeId(),orderDetail.getPrice()};
searchCriteria.add(criteria);
Object[] update=new Object[]{orderMain.getEndOrgId(),locationId,orderDetail1.getTypeId(),orderDetail1.getSizeId(),orderDetail1.getPrice()};
updateCriteria.add(update);
return orderDetail1;
}).collect(Collectors.toList());
orderDetailService.saveBatch(collect);
Map<String,Object> map=new HashMap<>();
map.put("list",list);
return map;
}
......
...@@ -11,6 +11,7 @@ import com.junmp.jyzb.api.bean.query.TjReq.TjOrgCountReq; ...@@ -11,6 +11,7 @@ import com.junmp.jyzb.api.bean.query.TjReq.TjOrgCountReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgEqsReq; import com.junmp.jyzb.api.bean.query.TjReq.TjOrgEqsReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPoliceReq; import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPoliceReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPriceReq; import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPriceReq;
import com.junmp.jyzb.entity.PubOrg;
import com.junmp.jyzb.mapper.*; import com.junmp.jyzb.mapper.*;
import com.junmp.jyzb.service.EquipmentSizeService; import com.junmp.jyzb.service.EquipmentSizeService;
import com.junmp.jyzb.service.PubOrgService; import com.junmp.jyzb.service.PubOrgService;
...@@ -18,10 +19,12 @@ import com.junmp.jyzb.service.TjService; ...@@ -18,10 +19,12 @@ import com.junmp.jyzb.service.TjService;
import com.junmp.v2.db.api.factory.PageFactory; import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory; import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult; import com.junmp.v2.db.api.page.PageResult;
import liquibase.pro.packaged.Z;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -42,6 +45,8 @@ public class TjServiceImpl implements TjService { ...@@ -42,6 +45,8 @@ public class TjServiceImpl implements TjService {
@Resource @Resource
private PoliceEquipmentMapper policeEquipmentMapper; private PoliceEquipmentMapper policeEquipmentMapper;
@Resource
private PubOrgService pubOrgService;
//装备统计报表 //装备统计报表
...@@ -124,7 +129,7 @@ public class TjServiceImpl implements TjService { ...@@ -124,7 +129,7 @@ public class TjServiceImpl implements TjService {
@Override @Override
public PageResult<TjOrgEqsDto> GetTjData(TjOrgEqsReq req) { public PageResult<TjOrgEqsDto> GetTjData(TjOrgEqsReq req) {
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
//先拿到符合条件的组织机构,再遍历组织机构组成数据 //先拿到符合条件的组织机构,再遍历组织机构组成数据
//(下一层数据组织机构数据) //(下一层数据组织机构数据)
List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId())); List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId()));
...@@ -136,13 +141,14 @@ public class TjServiceImpl implements TjService { ...@@ -136,13 +141,14 @@ public class TjServiceImpl implements TjService {
req.getSizeNameList().isEmpty() ? null : req.getSizesAsString()); req.getSizeNameList().isEmpty() ? null : req.getSizesAsString());
allData.add(OrgData); allData.add(OrgData);
} }
if (req.getOrgId()!=1369509498032808905L) if (req.getOrgId()!=1369509498032808905L)
{ {
TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()), TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()),
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(), req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
req.getSizeNameList().isEmpty() ? null : req.getSizesAsString()); req.getSizeNameList().isEmpty() ? null : req.getSizesAsString(),pubOrg.getLevelFlag());
allData.add(OrgData);//把本级数据加进去 allData.add(OrgData);//把本级数据加进去
} }
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除 //查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
if (req.getRemoveEmpty()) if (req.getRemoveEmpty())
{ {
...@@ -169,6 +175,7 @@ if (req.getOrgId()!=1369509498032808905L) ...@@ -169,6 +175,7 @@ if (req.getOrgId()!=1369509498032808905L)
@Override @Override
public FinalTjOrgEqsDto TjOrgDataSum(TjOrgEqsReq req) { public FinalTjOrgEqsDto TjOrgDataSum(TjOrgEqsReq req) {
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
FinalTjOrgEqsDto finalTjOrgEqsDto = new FinalTjOrgEqsDto(); FinalTjOrgEqsDto finalTjOrgEqsDto = new FinalTjOrgEqsDto();
finalTjOrgEqsDto.setTotalNumber(0); finalTjOrgEqsDto.setTotalNumber(0);
finalTjOrgEqsDto.setCkStockNumber(0); finalTjOrgEqsDto.setCkStockNumber(0);
...@@ -186,9 +193,10 @@ if (req.getOrgId()!=1369509498032808905L) ...@@ -186,9 +193,10 @@ if (req.getOrgId()!=1369509498032808905L)
} }
if (!req.getOrgId().equals("1369509498032808905")) if (!req.getOrgId().equals("1369509498032808905"))
{ {
TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()), TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()),
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(), req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
req.getSizeNameList().isEmpty() ? null : req.getSizesAsString()); req.getSizeNameList().isEmpty() ? null : req.getSizesAsString(),pubOrg.getLevelFlag());
allData.add(OrgData);//把本级数据加进去 allData.add(OrgData);//把本级数据加进去
} }
for (TjOrgEqsDto tj:allData) { for (TjOrgEqsDto tj:allData) {
...@@ -253,52 +261,6 @@ if (req.getOrgId()!=1369509498032808905L) ...@@ -253,52 +261,6 @@ if (req.getOrgId()!=1369509498032808905L)
} }
@Override @Override
public FinalTjOrgEqsDto TjOrgEqsSum(TjOrgEqsReq req) {
//先拿到符合条件的组织机构,再遍历组织机构组成数据
List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId()));
List<TjOrgEqsDto> allData=new ArrayList<>();
for (String orgId:orgList) {
TjOrgEqsDto OrgData=inventorySummaryMapper.GetInvSum( orgId,
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
req.getSizeNameList().isEmpty() ? null : req.getSizesAsString());
allData.add(OrgData);
}
if (!req.getOrgId().equals("1369509498032808905"))
{
TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()),
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
req.getSizeNameList().isEmpty() ? null : req.getSizesAsString());
allData.add(OrgData);//把本级数据加进去
}
FinalTjOrgEqsDto dto=new FinalTjOrgEqsDto();
Integer totalNumber = 0;
Integer ckStockNumber = 0;
Integer djgStockNumber = 0;
Integer ckOutboundNumber = 0;
Integer djgOutboundNumber = 0;
Integer destructionNumber = 0;
for (TjOrgEqsDto dtodata :allData) {
totalNumber += dtodata.getTotalNumber();
ckStockNumber += dtodata.getCkStockNumber();
djgStockNumber += dtodata.getDjgStockNumber();
ckOutboundNumber += dtodata.getCkOutboundNumber();
djgOutboundNumber += dtodata.getDjgOutboundNumber();
destructionNumber += dtodata.getDestructionNumber();
}
// 将累加后的值设置到 FinalTjOrgEqsDto
dto.setTotalNumber(totalNumber);
dto.setCkStockNumber(ckStockNumber);
dto.setDjgStockNumber(djgStockNumber);
dto.setCkOutboundNumber(ckOutboundNumber);
dto.setDjgOutboundNumber(djgOutboundNumber);
dto.setDestructionNumber(destructionNumber);
return dto;
}
@Override
public List<TjOrgEqsDto> TjOrgEqsSecondList(TjOrgEqsReq req) { public List<TjOrgEqsDto> TjOrgEqsSecondList(TjOrgEqsReq req) {
List<TjOrgEqsDto> tjOrgEqsDtoList=new ArrayList<>(); List<TjOrgEqsDto> tjOrgEqsDtoList=new ArrayList<>();
...@@ -383,13 +345,53 @@ if (req.getOrgId()!=1369509498032808905L) ...@@ -383,13 +345,53 @@ if (req.getOrgId()!=1369509498032808905L)
req.getSizeNameList(),null,null); req.getSizeNameList(),null,null);
return returnList; return returnList;
} }
//------------------------------------------------财务统计报表--------------------------------------------------------
//财务统计报表 //财务统计报表
// @Override
// public PageResult<TjOrgPriceDto> TjOrgPrice(TjOrgPriceReq req) {
// //根据条件查询财务汇总表
// List<TjOrgPriceDto> tjOrgPriceDtoList=priceSumSummaryMapper.TjOrgPrice(req.getOrgId(), req.getYear(),
// req.getTypeIdsList(),req.getSizeNameList());
// //对组织机构进行排序
// Comparator<TjOrgPriceDto> orgComparator = createOrgComparator();
// Collections.sort(tjOrgPriceDtoList, orgComparator);
// Page<TjOrgPriceDto> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
// if (ObjectUtil.isNull(req.getPageNo()) && ObjectUtil.isNull(req.getPageSize())) {
// req.setPageNo(1L);
// req.setPageSize(10L);
// }
// long startIndex = (req.getPageNo() - 1) * req.getPageSize();
// long endIndex = Math.min(startIndex + req.getPageSize(), tjOrgPriceDtoList.size());
// List<TjOrgPriceDto> subList = tjOrgPriceDtoList.subList((int) startIndex, (int)endIndex);
//// List<TjOrgPriceDto> subList = tjOrgPriceDtoList.subList((int) ((req.getPageNo()-1)*req.getPageSize()), req.getPageSize().intValue());
// page.setTotal(tjOrgPriceDtoList.size());
// page.setRecords(subList);
// return PageResultFactory.createPageResult(page);
// }
@Override @Override
public PageResult<TjOrgPriceDto> TjOrgPrice(TjOrgPriceReq req) { public PageResult<TjOrgPriceDto> TjOrgPrice(TjOrgPriceReq req) {
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
//先拿到符合条件的组织机构,再遍历组织机构组成数据
//(下一层数据组织机构数据)
List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId()));
List<TjOrgPriceDto> tjOrgPriceDtoList=new ArrayList<>();
//根据条件查询财务汇总表 //根据条件查询财务汇总表
List<TjOrgPriceDto> tjOrgPriceDtoList=priceSumSummaryMapper.TjOrgPrice(req.getOrgId(), req.getYear(), for (String orgId:orgList) {
req.getTypeIdsList(),req.getSizeNameList()); TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPrice(req.getOrgId(), req.getYear(),req.getTypeIdsList(),req.getSizeNameList() );
tjOrgPriceDtoList.add(OrgData);
}
if (req.getOrgId()!=1369509498032808905L){
TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPriceLeve4(req.getOrgId(), req.getYear(),req.getTypeIdsList(),req.getSizeNameList(),pubOrg.getLevelFlag());
tjOrgPriceDtoList.add(OrgData);//把本级数据加进去
}
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
if (req.getRemoveEmpty()){
tjOrgPriceDtoList.removeIf(tjOrgEqsDto -> tjOrgEqsDto.getStartNum() == 0 && tjOrgEqsDto.getEndNum() == 0
&& tjOrgEqsDto.getDestoryNum()==0);
}
//对组织机构进行排序 //对组织机构进行排序
Comparator<TjOrgPriceDto> orgComparator = createOrgComparator(); Comparator<TjOrgPriceDto> orgComparator = createOrgComparator();
Collections.sort(tjOrgPriceDtoList, orgComparator); Collections.sort(tjOrgPriceDtoList, orgComparator);
...@@ -406,19 +408,63 @@ if (req.getOrgId()!=1369509498032808905L) ...@@ -406,19 +408,63 @@ if (req.getOrgId()!=1369509498032808905L)
page.setRecords(subList); page.setRecords(subList);
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
} }
@Override @Override
public FinalTjOrgPriceDto TjOrgPriceSum(TjOrgPriceReq req) { public FinalTjOrgPriceDto TjOrgPriceSum(TjOrgPriceReq req) {
FinalTjOrgPriceDto finalTjOrgPriceDto= priceSumSummaryMapper.TjOrgPriceSum(req.getOrgId(), req.getYear(), // FinalTjOrgPriceDto finalTjOrgPriceDto= priceSumSummaryMapper.TjOrgPriceSum(req.getOrgId(), req.getYear(),
req.getTypeIdsList(),req.getSizeNameList()); // req.getTypeIdsList(),req.getSizeNameList());
if (ObjectUtil.isNotNull(finalTjOrgPriceDto)) { // if (ObjectUtil.isNotNull(finalTjOrgPriceDto)) {
//
// return finalTjOrgPriceDto;
// }else {
// return new FinalTjOrgPriceDto();
// }
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
FinalTjOrgPriceDto finalTjOrgPriceDto = new FinalTjOrgPriceDto();
finalTjOrgPriceDto.setAddNum(0);
finalTjOrgPriceDto.setStartNum(0);
finalTjOrgPriceDto.setEndNum(0);
finalTjOrgPriceDto.setDestoryNum(0);
finalTjOrgPriceDto.setAddPrice(BigDecimal.ZERO);
finalTjOrgPriceDto.setStartPrice(BigDecimal.ZERO);
finalTjOrgPriceDto.setEndPrice(BigDecimal.ZERO);
finalTjOrgPriceDto.setDestoryPrice(BigDecimal.ZERO);
List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId()));
List<TjOrgPriceDto> tjOrgPriceDtoList=new ArrayList<>();
//根据条件查询财务汇总表
for (String orgId:orgList) {
TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPrice(req.getOrgId(), req.getYear(),req.getTypeIdsList(),req.getSizeNameList() );
tjOrgPriceDtoList.add(OrgData);
}
if (req.getOrgId()!=1369509498032808905L){
TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPriceLeve4(req.getOrgId(), req.getYear(),req.getTypeIdsList(),req.getSizeNameList(),pubOrg.getLevelFlag());
tjOrgPriceDtoList.add(OrgData);//把本级数据加进去
}
for (TjOrgPriceDto tj:tjOrgPriceDtoList) {
finalTjOrgPriceDto.setAddNum(finalTjOrgPriceDto.getAddNum()+tj.getAddNum());
finalTjOrgPriceDto.setStartNum(finalTjOrgPriceDto.getStartNum()+tj.getStartNum());
finalTjOrgPriceDto.setEndNum(finalTjOrgPriceDto.getEndNum()+tj.getEndNum());
finalTjOrgPriceDto.setDestoryNum(finalTjOrgPriceDto.getDestoryNum()+tj.getDestoryNum());
finalTjOrgPriceDto.setAddPrice(finalTjOrgPriceDto.getAddPrice().add(tj.getAddPrice()));
finalTjOrgPriceDto.setStartPrice(finalTjOrgPriceDto.getStartPrice().add(tj.getStartPrice()));
finalTjOrgPriceDto.setEndPrice(finalTjOrgPriceDto.getEndPrice().add(tj.getEndPrice()));
finalTjOrgPriceDto.setDestoryPrice(finalTjOrgPriceDto.getDestoryPrice().add(tj.getDestoryPrice()));
}
return finalTjOrgPriceDto; return finalTjOrgPriceDto;
}else {
return new FinalTjOrgPriceDto();
} }
@Override
public List<TjOrgPriceDto> TjOrgPriceDetail(TjOrgPriceReq req) {
List<TjOrgPriceDto> tjOrgPriceDtoList = priceSumSummaryMapper.TjOrgPriceTotalNum(req.getOrgId(), req.getYear(),
req.getTypeIdsList(),req.getSizeNameList(),req.getLevelNum());
if (req.getRemoveEmpty()){
tjOrgPriceDtoList.removeIf(tjOrgEqsDto -> tjOrgEqsDto.getStartNum() == 0 && tjOrgEqsDto.getEndNum() == 0
&& tjOrgEqsDto.getDestoryNum()==0);
}
//将组织机构进行排序后再进行返回
Comparator<TjOrgPriceDto> orgComparator = createOrgComparator();
Collections.sort(tjOrgPriceDtoList, orgComparator);
return tjOrgPriceDtoList;
} }
......
...@@ -8,7 +8,9 @@ import com.junmp.jyzb.entity.WarehouseDev; ...@@ -8,7 +8,9 @@ import com.junmp.jyzb.entity.WarehouseDev;
import com.junmp.jyzb.service.WarehouseDevService; import com.junmp.jyzb.service.WarehouseDevService;
import com.junmp.jyzb.mapper.WarehouseDevMapper; import com.junmp.jyzb.mapper.WarehouseDevMapper;
import com.junmp.jyzb.utils.DateTimeUtil; import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.jyzb.utils.RabbitMQSendMsg;
import com.junmp.v2.common.util.BeanPlusUtil; import com.junmp.v2.common.util.BeanPlusUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -30,6 +32,9 @@ public class WarehouseDevServiceImpl extends ServiceImpl<WarehouseDevMapper, War ...@@ -30,6 +32,9 @@ public class WarehouseDevServiceImpl extends ServiceImpl<WarehouseDevMapper, War
@Resource @Resource
private WarehouseDevMapper warehouseDevMapper; private WarehouseDevMapper warehouseDevMapper;
@Autowired
private RabbitMQSendMsg MQ;
@Override @Override
public String addWarehouseDev(UpdateWarehouseDevReq req) { public String addWarehouseDev(UpdateWarehouseDevReq req) {
WarehouseDev warehouseDev = new WarehouseDev(); WarehouseDev warehouseDev = new WarehouseDev();
...@@ -37,6 +42,13 @@ public class WarehouseDevServiceImpl extends ServiceImpl<WarehouseDevMapper, War ...@@ -37,6 +42,13 @@ public class WarehouseDevServiceImpl extends ServiceImpl<WarehouseDevMapper, War
warehouseDev.setCreateTime(DateTimeUtil.getCurrentDateTime()); warehouseDev.setCreateTime(DateTimeUtil.getCurrentDateTime());
warehouseDev.setUpdateTime(DateTimeUtil.getCurrentDateTime()); warehouseDev.setUpdateTime(DateTimeUtil.getCurrentDateTime());
warehouseDevService.save(warehouseDev); warehouseDevService.save(warehouseDev);
String exchangeName="orderExchange";
//判断是否暂存,将消息下发给本地主机
req.setApi("InfoChange");
req.setType(6);
req.setMsg("warehouseDevChange");
MQ.SendMsg(exchangeName,req.getOrgId().toString(),req);
return warehouseDev.getId(); return warehouseDev.getId();
} }
...@@ -45,6 +57,12 @@ public class WarehouseDevServiceImpl extends ServiceImpl<WarehouseDevMapper, War ...@@ -45,6 +57,12 @@ public class WarehouseDevServiceImpl extends ServiceImpl<WarehouseDevMapper, War
WarehouseDev warehouseDev = new WarehouseDev(); WarehouseDev warehouseDev = new WarehouseDev();
BeanPlusUtil.copyProperties(req,warehouseDev); BeanPlusUtil.copyProperties(req,warehouseDev);
warehouseDev.setUpdateTime(DateTimeUtil.getCurrentDateTime()); warehouseDev.setUpdateTime(DateTimeUtil.getCurrentDateTime());
String exchangeName="orderExchange";
//判断是否暂存,将消息下发给本地主机
req.setApi("InfoChange");
req.setType(6);
req.setMsg("warehouseDevChange");
MQ.SendMsg(exchangeName,req.getOrgId().toString(),req);
return warehouseDevService.updateById(warehouseDev); return warehouseDevService.updateById(warehouseDev);
} }
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
select dc.*,po.org_name as org_name,bw.name as location_name from base_device_config dc select dc.*,po.org_name as org_name,bw.name as location_name from base_device_config dc
join pub_org po on po.org_id=dc.org_id join pub_org po on po.org_id=dc.org_id
left join base_warehouse bw on bw.id=dc.location_id left join base_warehouse bw on bw.id=dc.location_id
where dc.org_id =#{orgId} and dc.device_type=#{deviceType} where dc.org_id =#{orgId}
<if test="deviceName != null and deviceName != ''"> <if test="deviceName != null and deviceName != ''">
and dc.device_name =#{deviceName} and dc.device_name =#{deviceName}
</if> </if>
......
...@@ -215,6 +215,9 @@ ...@@ -215,6 +215,9 @@
GROUP BY type_id,size_id,bi.org_id_int,location_id,bi.price) as t GROUP BY type_id,size_id,bi.org_id_int,location_id,bi.price) as t
GROUP BY t.locationId,t.type_id,t.size_id,t.orgId,t.unitPrice GROUP BY t.locationId,t.type_id,t.size_id,t.orgId,t.unitPrice
</insert> </insert>
<insert id="reSetInventory">
{CALL InsertInventorySummary(#{summaryTableName,mode=IN},#{sourceTableName,mode=IN},#{warrantyThreshold,mode=IN},#{sql,mode=IN})}
</insert>
<select id="getSumByShelf" resultType="com.junmp.jyzb.entity.InventorySummary" <select id="getSumByShelf" resultType="com.junmp.jyzb.entity.InventorySummary"
......
...@@ -338,7 +338,7 @@ ...@@ -338,7 +338,7 @@
{CALL GetInventorySummary(#{orgId,mode=IN},#{typeId,mode=IN},#{sizeName,mode=IN})} {CALL GetInventorySummary(#{orgId,mode=IN},#{typeId,mode=IN},#{sizeName,mode=IN})}
</select> </select>
<select id="GetSumLeve4" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgEqsDto" statementType="CALLABLE"> <select id="GetSumLeve4" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgEqsDto" statementType="CALLABLE">
{CALL GetSumLeve4(#{orgId,mode=IN},#{typeId,mode=IN},#{sizeName,mode=IN})} {CALL GetSumLeve4(#{orgId,mode=IN},#{typeId,mode=IN},#{sizeName,mode=IN},#{sql,mode=IN})}
</select> </select>
<select id="selectDynamicView" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgEqsDto"> <select id="selectDynamicView" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgEqsDto">
SELECT * FROM dynamic_view SELECT * FROM dynamic_view
...@@ -718,27 +718,39 @@ ...@@ -718,27 +718,39 @@
<select id="selectSumByItemsCount" resultType="java.lang.Integer" <select id="selectSumByItemsCount" resultType="java.lang.Integer"
parameterType="com.junmp.jyzb.api.bean.query.InventoryReq"> parameterType="com.junmp.jyzb.api.bean.query.InventoryReq">
select count(*) from ( select count(*) from (
select i.*,et.name as type_name,es.name as size_name,po.org_name as org_name, SELECT wi.type_id,wi.size_id,wi.shelf_id,wi.shelf_location, wi.epc,wi.org_id,wi.location_state,
wi.location_type,wi.location_id,i.id,i.supplier_id,i.price,i.state,i.bussiness_state,
i.production_date,i.warranty_period,i.maintenance_period, i.term_state,
i.area_id,et.name as type_name,es.name as size_name,po.org_name as org_name,
bs.name as supplier_name,COALESCE(bc.name, bw.name) as location_name, bs.name as supplier_name,COALESCE(bc.name, bw.name) as location_name,
es.photo as photo,es.instructions as instructions es.photo as photo,es.instructions as instructions
FROM base_inventory i FROM base_warehouse_inventory wi
JOIN base_equipment_type et on et.id=i.type_id LEFT JOIN base_inventory i ON i.epc = wi.epc
join base_equipment_size es on es.id=i.size_id LEFT JOIN base_equipment_type et ON et.id = i.type_id
join pub_org po on i.org_id_int=po.org_id LEFT JOIN base_equipment_size es ON es.id = i.size_id
left join base_supplier bs on bs.id=i.supplier_id LEFT JOIN pub_org po ON i.org_id_int = po.org_id
LEFT JOIN base_cabinet_box bcb ON i.location_id = bcb.id and i.location_type=1 LEFT JOIN base_supplier bs ON bs.id = i.supplier_id
LEFT JOIN base_cabinet_box bcb ON i.location_id = bcb.id AND i.location_type = 1
LEFT JOIN base_cabinet bc ON bcb.cabinet_id = bc.id LEFT JOIN base_cabinet bc ON bcb.cabinet_id = bc.id
LEFT JOIN base_warehouse bw ON i.location_id = bw.id AND i.location_type = 0 LEFT JOIN base_warehouse bw ON i.location_id = bw.id AND i.location_type = 0
WHERE i.org_id_int=#{req.orgId} and i.type_id=#{req.typeId} WHERE wi.org_id=#{req.orgId} and wi.type_id=#{req.typeId}
<if test="req.locationType !='all' and req.locationType != null"> <if test="req.locationType !='all' and req.locationType != null">
and i.location_type=#{req.locationType} and wi.location_type=#{req.locationType}
</if>
<if test="req.termState!= -1">
and i.term_state=#{req.termState}
</if>
<if test="req.locationState!='all' and req.locationState !=null and req.locationState!=''">
and i.location_state=#{req.locationState}
</if> </if>
<if test="req.sizeId !=null and req.sizeId != ''"> <if test="req.sizeId !=null and req.sizeId != ''">
and i.size_id=#{req.sizeId} and wi.size_id=#{req.sizeId}
</if> </if>
<if test="req.price !=null and req.price != ''"> <if test="req.price !=null and req.price != ''">
and i.price=#{req.price} and i.price=#{req.price}
</if> </if>
ORDER BY wi.type_id,i.size_id
) as a ) as a
</select> </select>
<select id="GetDetailByTerms" resultType="com.junmp.jyzb.api.bean.dto.InventoryDto"> <select id="GetDetailByTerms" resultType="com.junmp.jyzb.api.bean.dto.InventoryDto">
...@@ -765,7 +777,7 @@ ...@@ -765,7 +777,7 @@
<if test="req.termState!= -1"> <if test="req.termState!= -1">
and i.term_state=#{req.termState} and i.term_state=#{req.termState}
</if> </if>
<if test="req.locationState!=all and req.locationState !=null and req.locationState!=''"> <if test="req.locationState!='all' and req.locationState !=null and req.locationState!=''">
and i.location_state=#{req.locationState} and i.location_state=#{req.locationState}
</if> </if>
<if test="req.sizeId !=null and req.sizeId != ''"> <if test="req.sizeId !=null and req.sizeId != ''">
......
...@@ -39,13 +39,21 @@ ...@@ -39,13 +39,21 @@
{call UpdatePriceSummary()} {call UpdatePriceSummary()}
</select> </select>
<select id="TjOrgPrice" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto"> <select id="TjOrgPrice" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto">
select org_id_int as org_id,org_code,org_name,org_name_short as d_name, select t1.org_id,t1.org_code,t1.org_name,t1.d_name,
sum(start_num) as start_num,sum(start_price) as start_price, t2.start_num,t2.start_price,t2.end_num,t2.end_price,t2.add_num,t2.add_price,t2.destory_num,t2.destory_price
sum(end_num) as end_num,sum(end_price) as end_price, FROM(
sum(add_num) as add_num,sum(destory_num) as destory_num, SELECT
sum(add_price) as add_price,sum(destory_price) as destory_price `org_id`, `org_code`, `org_name`, `d_name`
FROM vie_price_sum_summary FROM `pub_org`
where `year`= #{year} and (org_id_int=#{orgId} or parent_id=#{orgId}) WHERE org_id=#{orgId}
) as t1
CROSS JOIN (select sum(vpss.start_num) as start_num,sum(vpss.start_price) as start_price,
sum(vpss.end_num) as end_num,sum(vpss.end_price) as end_price,
sum(vpss.add_num) as add_num,sum(vpss.destory_num) as destory_num,
sum(vpss.add_price) as add_price,sum(vpss.destory_price) as destory_price
FROM vie_price_sum_summary vpss
left join pub_org po on vpss.org_id_int=po.org_id
where vpss.`year`= #{year} and po.del_flag=1 and (po.org_id=#{orgId} or po.org_parent_ids like CONCAT('%', #{orgId}, '%'))
<if test="typeIdsList!=null and typeIdsList.size() > 0"> <if test="typeIdsList!=null and typeIdsList.size() > 0">
and type_id in and type_id in
<foreach collection="typeIdsList" item="item" open="(" separator="," close=")"> <foreach collection="typeIdsList" item="item" open="(" separator="," close=")">
...@@ -58,7 +66,7 @@ ...@@ -58,7 +66,7 @@
size_name like CONCAT('%', #{item}, '%') size_name like CONCAT('%', #{item}, '%')
</foreach> </foreach>
</if> </if>
GROUP BY org_id,org_code,org_name,d_name ) as t2
</select> </select>
<select id="TjOrgPriceDetail" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto"> <select id="TjOrgPriceDetail" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto">
...@@ -140,5 +148,47 @@ ...@@ -140,5 +148,47 @@
ORDER BY type_id ORDER BY type_id
) as t ) as t
</select> </select>
<select id="TjOrgPriceLeve4" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto">
select t1.org_id,t1.org_code,t1.org_name,t1.d_name,
t2.start_num,t2.start_price,t2.end_num,t2.end_price,t2.add_num,t2.add_price,t2.destory_num,t2.destory_price
FROM(
SELECT
`org_id`, `org_code`, `org_name`, `d_name`
FROM `pub_org`
WHERE org_id=#{orgId}
) as t1
CROSS JOIN (select sum(vpss.start_num) as start_num,sum(vpss.start_price) as start_price,
sum(vpss.end_num) as end_num,sum(vpss.end_price) as end_price,
sum(vpss.add_num) as add_num,sum(vpss.destory_num) as destory_num,
sum(vpss.add_price) as add_price,sum(vpss.destory_price) as destory_price
FROM vie_price_sum_summary vpss
left join pub_org po on vpss.org_id_int=po.org_id
where vpss.`year`= #{year} and po.del_flag=1
AND (po.org_id = org_id_param OR (`po`.org_parent_ids like CONCAT('%', org_id_param, '%')
AND(case when #{levelFlag} >=3 then 1=1 else SUBSTRING(`po`.`org_code`, 5, 2) = '00' end ))
AND (
`po`.`level_flag` > (
SELECT `level_flag` FROM `pub_org` WHERE `org_id` = org_id_param
) + 1
OR (`po`.`level_flag` = (
SELECT `level_flag` FROM `pub_org` WHERE `org_id` = org_id_param
))))
<if test="typeIdsList!=null and typeIdsList.size() > 0">
and type_id in
<foreach collection="typeIdsList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="sizeNameList!=null and sizeNameList.size() > 0">
AND
<foreach collection="sizeNameList " item="item" open="(" separator="or" close=")">
size_name like CONCAT('%', #{item}, '%')
</foreach>
</if>
) as t2
</select>
<select id="TjOrgPriceTotalNum" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto">
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论